Tkinter : comment activer en commande une fonction paramétrées

Résolu
IgrecS Messages postés 1 Date d'inscription vendredi 21 octobre 2016 Statut Membre Dernière intervention 21 octobre 2016 - 21 oct. 2016 à 13:11
 IgrecS - 24 oct. 2016 à 11:26
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

lespinx Messages postés 106 Date d'inscription lundi 9 octobre 2006 Statut Membre Dernière intervention 23 novembre 2022 77
23 oct. 2016 à 09:02
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
1
Testé avec succès....Merci beaucoup
0
Rejoignez-nous