Bonjour,
J'étudie en ce moment le widget des listes déroulantes, et la fonction curselection() ne fonctionne pas, je vous donne l'explication du cour :
Dans un premier temps on crée la fenêtre :
On crée ensuite le widget et on l'insère dans la fenêtre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part fenetre = Tk()
J'insère des éléments à l'intérieur de la liste :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 liste = Listbox(fenetre) liste.pack()
et ensuite le cour me dit ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 liste.insert(END, "Pierre") liste.insert(END, "Feuille") liste.insert(END, "Ciseau")
"Pour accéder à la sélection, utilisez la méthodecurselectionde la liste. Elle renvoie un tuple de chaînes de caractères, chacune étant la position de l'élément sélectionné.
Par exemple, siliste.curselection()renvoie('2',), c'est le troisième élément de la liste qui est sélectionné (Ciseauen l'occurrence)."
Le problème c'est que la méthode ne fonctionne pas une fois que j'ai choisi un élément dans la fenêtre, j'appelle la méthode et ça me met une erreur :
La méthode ne fonctionne plus uniquement après que j'ai ouvert la fenêtre, mais avant que celle ci ne soit ouverte elle fonctionne très bien, d'où peut venir le problème sachant que j'ai suivi à la lettre le cour, merci d'avance pour vos réponses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 liste.curselection() Traceback (most recent call last): File "(stdin)", line 1, in (module) File "C:\Users\admin\AppData\Local\Programs\Python\Python36-32\lib\tkinter\__i nit__.py", line 2782, in curselection return self._getints(self.tk.call(self._w, 'curselection')) or () _tkinter.TclError: invalid command name ".!listbox"
Partager