Tkinter : comment activer en commande une fonction paramétrées [Résolu]

Signaler
Messages postés
1
Date d'inscription
vendredi 21 octobre 2016
Statut
Membre
Dernière intervention
21 octobre 2016
-
 IgrecS -
Bonjour à tous,
Dans tous les exemples d'utilisation de "tkinter" que j'ai pu consultés, l'option "command" n'active que des fonctions simples sans passage de paramètres. Comment faire pour passer en "command" une fonction avec un argument ?
J'ai essayé en utilisant des variables globales mais ça ne marche pas pour des widgets. Voir par exemple le bout de code en fin de message

Merci d'avance

YS

---------------------------------------
import tkinter
#
def essai_global() :
global ma_variable_globale
ma_variable_globale = 50.
print(ma_variable_globale)
#
def essai_globaltk() :
global APP
APP.destroy
#
ma_variable_globale = 25.
print(ma_variable_globale)
#
APP = tkinter.Tk()
[L,H]=[0.99*APP.winfo_screenwidth(),0.93*APP.winfo_screenheight()]
APP.geometry("%dx%d+1+0" % (L,H))
APP.title('Essai')
MEN = tkinter.Menu(APP)
MEN_QUI=tkinter.Menu(MEN,tearoff=0)
MEN.add_command(label="Essai global",command=essai_global)
MEN.add_command(label="Quit",command=essai_globaltk)
APP.config(menu = MEN)
APP.mainloop()

2 réponses

Messages postés
104
Date d'inscription
lundi 9 octobre 2006
Statut
Membre
Dernière intervention
13 décembre 2020
70
Bonjour,
exemple:
command = lambda nom_bouton = "G" + str(z): self.decal_G_D(nom_bouton))


lambda = mot clé Python pour variable anticipée
nom_bouton = Variable à passer en paramètre de <command>
"G" + str(z) = calcul de la variable à passer en paramètre
:self.decal_G_D(nom_bouton) = appel de la fontion avec le paramètre
Testé avec succès....Merci beaucoup