Seite 1 von 1

PyQT5: Funktion mit Übergabeparameter

Verfasst: Sonntag 30. Juli 2017, 17:23
von freilaurer
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?

Code: Alles auswählen

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
    
        self.pushButton_1.clicked.connect(self.push_m(1))
        self.pushButton_2.clicked.connect(self.push_m(2))
        self.pushButton_3.clicked.connect(self.push_m(3))
        
     def push_m(self, zahl):
       	self.zahl = zahl
          self.textEdit.append(zahl)

Re: PyQT5: Funktion mit Übergabeparameter

Verfasst: Sonntag 30. Juli 2017, 18:04
von __deets__
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.

Re: PyQT5: Funktion mit Übergabeparameter

Verfasst: Montag 31. Juli 2017, 18:32
von freilaurer
Danke, hat geklappt :3

Code: Alles auswählen

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