PyQT5: Funktion mit Übergabeparameter

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
freilaurer
User
Beiträge: 2
Registriert: Sonntag 30. Juli 2017, 17:17

PyQT5: Funktion mit Übergabeparameter

Beitragvon freilaurer » Sonntag 30. Juli 2017, 17:23

Hallo, ich habe mehrere pushButtons und möchte anstatt für jeden Button eine Funktion zu erstellen, alles über eine Funktion mit Übergabeparameter erstellen. Leider wird die Gui nichtmehr angezeigt sobald ich das versuche.
Woran könnte das liegen?
  1. class Ui_MainWindow(object):
  2.     def setupUi(self, MainWindow):
  3.    
  4.         self.pushButton_1.clicked.connect(self.push_m(1))
  5.         self.pushButton_2.clicked.connect(self.push_m(2))
  6.         self.pushButton_3.clicked.connect(self.push_m(3))
  7.        
  8.      def push_m(self, zahl):
  9.         self.zahl = zahl
  10.           self.textEdit.append(zahl)
Zuletzt geändert von Anonymous am Sonntag 30. Juli 2017, 18:07, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Benutzeravatar
__deets__
User
Beiträge: 1298
Registriert: Mittwoch 14. Oktober 2015, 14:29

Re: PyQT5: Funktion mit Übergabeparameter

Beitragvon __deets__ » Sonntag 30. Juli 2017, 18:04

Weil du deine Methode schon gleich aufrufst. Benutze stattdessen functools.partial, oder ein lambda. Findet sich in diesem Forum auch ca 10000 mal beschrieben. In jedem 2ten GUI Post.
freilaurer
User
Beiträge: 2
Registriert: Sonntag 30. Juli 2017, 17:17

Re: PyQT5: Funktion mit Übergabeparameter

Beitragvon freilaurer » Montag 31. Juli 2017, 18:32

Danke, hat geklappt :3

  1. self.pushButton_1.clicked.connect(lambda x: self.push_m(1))

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder