Bonjour à tous.
Je dois créer un programme avec une interface graphique, mais j'ai un gos problème avec les boutons. En effet, la commande que je leur ait assigné s'execute lors de la création du bouton, et non lorsque l'on clique dessus...
Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 from tkinter import * Mise=0 def FonctionMise(Valeur): #ma fonction. Je ne suis pas sur que le global serve à quoi que ce sot puisque je défini 'Mise' avant... global Mise Mise=Mise+int(Valeur) ValeurJetons=[None,"1","10","50","100","500","1000"] #Le nom de mes Jetons. Ce sera utilisé comme argument de la fonction ImagesJetons=[None,"1","10","50","100","500","1000"] #Les images associées à mes boutons. buttonJeton=[None] #La liste qui comprendra mes 6 boutons, quand ils seront crées. for i in range (1,7): ImagesJetons[i]=PhotoImage(file="Images/Jeton"+ImagesJetons[i]+".gif") #Je crée mes PhotoImages à partir de mes fichiers .gif buttonJeton.append(Button(Cadre, image=ImagesJetons[i], command=FonctionMise(ValeurJetons[i]))) #Je crée mes boutons avec mes PhotoImages. La commande, c'est ma fonction avec 'ValeurJetons[i]' comme arg. buttonJeton[i].pack(side=LEFT)#Meuh
Ainsi, j'ai six boutons définis ainsi:
button[1]=Button(Cadre, image=ImageJetons[1], command= FonctionMise(1)) C'est un jeton de 1 euro
button[2]=Button(Cadre, image=ImageJetons[2], command= FonctionMise(5)) C'est un jeton de 5 euros
button[3]=Button(Cadre, image=ImageJetons[3], command= FonctionMise(10)) C'est un jeton de 10 euros
...
...
button[3]=Button(Cadre, image=ImageJetons[6], command= FonctionMise(1000)) C'est un jeton de 1000 euros
Mon problème, c'est que lorsque chaque bouton se crée, il exécute immédiatement ma FonctionMise, et il ne veut plus le faire quand je l'utilise...
Pour le coup, je n'ai aucune idée de quel peut être le problème.
Je m'en remet donc à vous, merci pour votre aide et bonne journée
Partager