Maison >développement back-end >Tutoriel Python >Comment transmettre des arguments à la fonction de commande d'un bouton Tkinter ?

Comment transmettre des arguments à la fonction de commande d'un bouton Tkinter ?

DDD
DDDoriginal
2024-12-25 02:34:14893parcourir

How to Pass Arguments to a Tkinter Button's Command Function?

Comment envoyer des arguments à une commande de 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn