Argumente an Schaltflächenbefehle in Tkinter übergeben
Beim Erstellen von Schaltflächen in Tkinter kann es nützlich sein, Argumente an die Befehlsfunktion zu übergeben. Der bereitgestellte Code:
import Tkinter as Tk win = Tk.Toplevel() frame = Tk.Frame(master=win).grid(row=1, column=1) button = Tk.Button(master=frame, text='press', command=action)
wobei action die Methode ist, die beim Drücken der Schaltfläche aufgerufen wird, legt nahe, dass Argumente direkt als Parameter an den Befehl der Schaltfläche übergeben werden können:
button = Tk.Button(master=frame, text='press', command=action(someNumber))
Dies ist jedoch der Fall führt die Aktion sofort aus, wodurch die Schaltfläche unbrauchbar wird. So beheben Sie dieses Problem:
Lösung mit Lambda
Ein Lambda ermöglicht die Argumentbindung ohne explizite Wrapper-Methode oder Änderungsaktion:
button = Tk.Button(master=frame, text='press', command= lambda: action(someNumber))
Dies bindet das Argument effektiv und stellt sicher, dass die Aktion beim Drücken der Taste korrekt aufgerufen wird.
Das obige ist der detaillierte Inhalt vonWie kann ich Argumente an Tkinter-Schaltflächenbefehle übergeben, ohne sie vorzeitig auszuführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!