Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Argumente an Tkinter-Schaltflächenbefehle übergeben, ohne sie vorzeitig auszuführen?
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!