Bonjour,
j'ai réussi à définir la liste d'un OptionMenu o1 depuis un OptionMenu o, à partir d'un exemple trouvé sur le web. Mon problème est isolé dans l'exemple ci-dessous :
Quand je clique sur un des éléments de la liste de o, je change la liste disponible sous o1.
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 # changer les listes d'un OptionMenu depuis un autre OptionMenu from Tkinter import * values = ["one","two","three"] def change(x): global o1, var1 # change options print o['menu'].index(var.get()) m = o1.children['menu'] m.delete(0,END) newvalues = "a b c d e f".split() for val in newvalues: m.add_command(label=val, command=lambda v=var1, l=val:v.set(l)) var1.set(newvalues[0]) def change1(x): print "passe" return root = Tk() var = StringVar() var.set(values[0]) var1 = StringVar() var1.set(values[0]) # set initial options o = OptionMenu(root,var,*values, command=change) o.pack() o1 = OptionMenu(root,var1,*values, command=change1) o1.pack() root.mainloop()
Mais quand je clique sur un des éléments de la nouvelle liste de o1, je ne passe pas dans le sous-programme change1().
Par contre, si au lancement du programme, je clique d'emblée sur un des éléments de o1, sans toucher à o, je passe bien dans change1().
Je voudrais bien entendu passer dans change1() dans le premier scénario aussi.
Merci pour votre aide.
Partager