Ich mache ein einfaches kleines Dienstprogramm, während ich Python lerne. Es erzeugt dynamisch eine Liste von Knöpfen:
%Vor% Dieser Teil funktioniert gut. Ich muss jedoch wissen, welche der Tasten in self.populateMethod
gedrückt wurde. Irgendwelche Ratschläge, wie ich das erzählen könnte?
Sie können Lambda verwenden, um Argumente an einen Befehl zu übergeben:
%Vor%Es scheint, dass die Befehlsmethode kein Ereignisobjekt übergeben wurde.
Ich kann mir zwei Problemumgehungen vorstellen:
Ordnen Sie jeder Schaltfläche einen eindeutigen Rückruf zu
Rufen Sie button.bind('<Button-1>', self.populateMethod)
auf, anstatt self.populateMethod als command
zu übergeben. self.populateMethod muss dann ein zweites Argument akzeptieren, das ein Ereignisobjekt sein wird.
Unter der Annahme, dass dieses zweite Argument event
heißt, ist event.widget
ein Verweis auf die Schaltfläche, auf die geklickt wurde.