Maison >développement back-end >Tutoriel Python >Comment transmettre des arguments à la fonction de commande d'un bouton Tkinter ?
Question :
Considérez le bouton Tkinter suivant :
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)
Comment passer des arguments à la méthode d'action lorsque le bouton est enfoncé ?
Explication :
Le code fourni appelle la méthode d'action immédiatement lorsque le bouton est créé, rendant le bouton inefficace.
Solution :
Pour passer des arguments, vous pouvez utiliser un lambda function :
button = Tk.Button(master=frame, text='press', command=lambda: action(someNumber))
La fonction lambda lie l'argument à la commande sans nécessiter une méthode wrapper explicite ni modifier l'action d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!