Salut les pythons,
je génère des Checkbuttons dans un widget Text et j'aimerai pouvoir effacer grace a une methode ceux qui sont selectionner par appuie sur un bouton, j'ai essayer en leurs attribuant une valeur unique mais sa ne marche pas, sa fait trois jours que je me casse la tete la dessus...
Le code suivant ne fonctionne pas mais reflète ce que je cherche a faire:
Si vous avez une idée sa serai sympa car moi je craque.
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 from Tkinter import * class Test(): def __init__(self) : self.num=0 self.chk_dict={} def add(self, event) : global b, c try : self.chk_liste=List(b.children.keys()) except : self.chk_liste=[] #self.var=IntVar() #self.var.set(0) self.z=Checkbutton(b, text=c.get(), command=test.value_set) #on pourrait faire comme ca: self.z=Checkbutton(b, text=c.get(), variable=self.var) b.window_create(END, window=self.z) for values in b.children.keys() :#donne un dico avec comme clef les identifiants des enfants et comme valeurs les instances des Checkbuttons if values not in self.chk_liste : self.chk_dict[values]='value'+str(self.num) self.num += 1 def value_set(self) : self.z.setvar(name='value'+str(self.num), value=1) def remove(self) : for values in b.children.keys() :#donne un dico avec comme clef les identifiants des enfants et comme valeurs les instances des Checkbuttons if b.children.get(values).getvar(name=self.chk_dict.get(values)) == 1 : # je ne sais pas comment combiner l'instance avec l'IntVar() b.children.get(values).destroy() test=Test() a=Tk() b=Text(a) c=Entry(a) c.bind('<Return>', test.add) d=Button(a, text='Remove', command=test.remove) c.pack() b.pack() d.pack() mainloop()![]()
Partager