Ermitteln welche Taste in Tkinter gedrückt wurde?

8

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?

    
Sydius 08.10.2009, 18:59
quelle

2 Antworten

15

Sie können Lambda verwenden, um Argumente an einen Befehl zu übergeben:

%Vor%     
Bryan Oakley 09.10.2009, 11:51
quelle
1

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.

Raphaël Saint-Pierre 08.10.2009 19:15
quelle

Tags und Links