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

IgrecS 1 Messages postés vendredi 21 octobre 2016Date d'inscription 21 octobre 2016 Dernière intervention - 21 oct. 2016 à 13:11 - Dernière réponse :  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()
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
lespinx 96 Messages postés lundi 9 octobre 2006Date d'inscription 24 février 2018 Dernière intervention - 23 oct. 2016 à 09:02
1
Merci
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

Merci lespinx 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 75 internautes ce mois-ci

Commenter la réponse de lespinx
0
Merci
Testé avec succès....Merci beaucoup
Commenter la réponse de IgrecS

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.