Parameterübergabe von Signal und eigener Funktion
Verfasst: Donnerstag 20. Oktober 2011, 10:08
Hey Leute,
das Forum hat mir schon ein wenig weitergeholfen aber nun hab ich doch mal eine Frage.
Ich habe eine Oberfläche, die eine Liste von Buttons, ComboBoxen und anderen Objekten besitzt. Nun möchte ich mithilfe einer Auswahl in der ComboBox z.B. eine dazugehörige CeckBox ansprechen aber immer dieselbe Methode verwenden, da ich sonst n Methoden benötigen würde die eigentlich alle dasselbe machen.
Ich möchte per connect ein Signal und einen eigenen Parameter an die aufzurufende Funktion übergeben.
Wenn ich kein Parameter im Signal (z.B.:clicked) habe per functools.partial() kein Problem:
aber wie kann ich bei einem Signal, das selbst auch einen Parameter mitbringt meinen eigenen einschleusen?
Hier nochmal die Funktion die dann aufgerufen werden soll:
Bin für jeden Hinweis dankbar!
das Forum hat mir schon ein wenig weitergeholfen aber nun hab ich doch mal eine Frage.
Ich habe eine Oberfläche, die eine Liste von Buttons, ComboBoxen und anderen Objekten besitzt. Nun möchte ich mithilfe einer Auswahl in der ComboBox z.B. eine dazugehörige CeckBox ansprechen aber immer dieselbe Methode verwenden, da ich sonst n Methoden benötigen würde die eigentlich alle dasselbe machen.
Ich möchte per connect ein Signal und einen eigenen Parameter an die aufzurufende Funktion übergeben.
Wenn ich kein Parameter im Signal (z.B.:clicked) habe per functools.partial() kein Problem:
Code: Alles auswählen
self.button_con_field[i].clicked.connect(partial(self.getConnectButton, i))
Code: Alles auswählen
# die folgende Codezeile klappt natürlich nicht sondern dient nur zum Verständnis meines Problems
self.combobox_vehicle_field[i].activated(int).connect(partial(self.selectedVehicle, i))
Code: Alles auswählen
# in marker steckt der 'int'-Wert um herauszufinden welches Fahrzug in der ComboBox ausgewählt wurde. In 'conID' ist die ID des Fahrzeugs selbst, um die weiteren Schritte in der Funktion richtig umzusetzen.
def selectedVehicle(self, marker, conID):
....