Maison >développement back-end >Tutoriel Python >Comment transmettre des arguments aux commandes des boutons Tkinter ?

Comment transmettre des arguments aux commandes des boutons Tkinter ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-18 09:32:181013parcourir

How to Pass Arguments to Tkinter Button Commands?

Passer des arguments aux commandes de bouton dans Tkinter

Dans Tkinter, lors de la création d'un bouton, vous pouvez spécifier une option de commande pour définir l'action exécutée en appuyant sur le bouton. Cependant, il peut être souhaitable de transmettre des arguments à cette commande.

Fonction Lambda en ligne

Une solution consiste à utiliser des lambdas, qui sont des fonctions anonymes. Voici un exemple :

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))

Dans ce code, la fonction lambda capture la valeur de someNumber et la transmet comme argument à la méthode d'action lorsque le bouton est enfoncé.

Méthode Wrapper

Une autre approche consiste à créer une méthode wrapper qui accepte un nombre arbitraire d'arguments, puis appelle la méthode d'action d'origine avec les arguments appropriés :

import Tkinter as Tk

def action_wrapper(*args):
    action(*args)

someNumber = 10

button = Tk.Button(master=frame, text='press', command= action_wrapper(someNumber))

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