Übergabe von Argumenten an Schaltflächenbefehle in Tkinter
In Tkinter können Sie beim Erstellen einer Schaltfläche eine Befehlsoption angeben, um die ausgeführte Aktion zu definieren auf Tastendruck. Es kann jedoch wünschenswert sein, Argumente an diesen Befehl zu übergeben.
Inline-Lambda-Funktion
Eine Lösung besteht darin, Lambdas zu verwenden, bei denen es sich um anonyme Funktionen handelt. Hier ist ein Beispiel:
import Tkinter as Tk win = Tk.Toplevel() frame = Tk.Frame(master=win).grid(row=1, column=1) someNumber = 10 # Pass an argument to the action method button = Tk.Button(master=frame, text='press', command= lambda: action(someNumber))
In diesem Code erfasst die Lambda-Funktion den Wert von someNumber und übergibt ihn als Argument an die Aktionsmethode, wenn die Schaltfläche gedrückt wird.
Wrapper-Methode
Ein anderer Ansatz besteht darin, eine Wrapper-Methode zu erstellen, die eine beliebige Anzahl von Argumenten akzeptiert und dann die ursprüngliche Aktionsmethode aufruft mit den passenden Argumenten:
import Tkinter as Tk def action_wrapper(*args): action(*args) someNumber = 10 button = Tk.Button(master=frame, text='press', command= action_wrapper(someNumber))
Das obige ist der detaillierte Inhalt vonWie übergebe ich Argumente an Tkinter-Schaltflächenbefehle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!