Bonjour,
Je créé une liste de boutons via une boucle "for i in ", en voulant passer ma variable i à la fonction voulue, mais seule la derniere valeur de i est prise en compte :
Ce code créé correctement les 5 boutons(User 1, User 2, ...), correctement placés (row=1,2,...), ils sont meme correctements détruits, mais tous me renvoient toujours la meme valeur : "5 has log in"
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 def initialize(self): self.grid() self.buttonTab = [] countUser = 0 for i in range(1,6) : self.buttonTab += [Tkinter.Button(self,text="User "+str(i), command=lambda:self.loginCmd(i))] self.buttonTab[countUser].grid(column=0,row=countUser) countUser += 1 def loginCmd(self,id): print str(id)+" has log in" for but in self.buttonTab : Tkinter.Button.destroy(but)
C'est surement une erreur tres simple, mais je n'arrive pas à comprendre...
Merci d'avance,
Cordialement
Partager