Bonjour à tous
J'aimerais insérer un widget ComboBox(de tix ou pmw) dans une fenetre ou il y a deja d'autres widgets, mais je n'y arrive pas. Pourtant je n'ai aucune difficulté pour le faire dans une nouvelle fenetre, à part du reste.
Par excemple, ce code fonctionne bien:
Mais ce code ne fonctionne pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 import Tix def Affiche(evt): print varcombo.get() ## On affiche a l'ecran la valeur selectionnee root = Tix.Tk() varcombo = Tix.StringVar() combo = Tix.ComboBox(root, editable=1, dropdown=1, variable=varcombo, command = Affiche) combo.entry.config(state='readonly') ## met la zone de texte en lecture seule combo.insert(0, 'NT') combo.insert(1, 'Linux') combo.pack() root.mainloop()
le message d'erreur est:
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 import Tix def affiche(event): print self.default_extension.get() def settings(self): self.root=Tk() self.root.title('Paramètres') #implementation des autre widgets Label(self.root,text='Extension des images:').grid(row=2,column=0,sticky=E) self.default_extension=Tix.StringVar() #self.default_extension.set(self.dico_sett["extension"]) combo=Tix.ComboBox(self.root,editable=1,dropdown=1, variable=self.default_extension, command=self.affiche) combo.entry.config(state='readonly') combo.insert(0, 'jpg') combo.insert(1, 'png') combo.insert(2, 'bmp') combo.grid(row=2,column=0,columnspan=2,padx=3,pady=3) combo.grid(row=2,column=0,columnspan=2,padx=3,pady=3)
Franchement je ne vois pas pourquoi il ne reconnaît pas Tix.ComboBox dans le deuxième exemple, pour moi c'est la même chose que ce soi dans une fenêtre à part ou dans une fenêtre existante :s
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Exception in Tkinter callback Traceback (most recent call last): File "C:\Python26\lib\lib-tk\Tkinter.py", line 1410, in __call__ return self.func(*args) File "C:\Python26\folder\gen.py", line 612, in settings combo=Tix.ComboBox(self.root,editable=1,dropdown=1, variable=self.default_extension, command=self.affiche) File "C:\Python26\lib\lib-tk\Tix.py", line 579, in __init__ cnf, kw) File "C:\Python26\lib\lib-tk\Tix.py", line 307, in __init__ self.tk.call(widgetName, self._w, *extra) TclError: invalid command name "tixComboBox"
Pouvez-vous éclairer ma lanterne?
Merci d'avance
Partager