CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : Problème Python

DébutPage précedente
1
Page suivantePage suivante
Gogeta-176 Gogeta-176
MP
Niveau 35
24 septembre 2018 à 10:34:00

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 :

fenetre = Tk()

On crée ensuite le widget et on l'insère dans la fenêtre :

liste = Listbox(fenetre)
liste.pack()

J'insère des éléments à l'intérieur de la liste :

liste.insert(END, "Pierre")
liste.insert(END, "Feuille")
liste.insert(END, "Ciseau")

et ensuite le cour me dit ça :

"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 :

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"

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

Gogeta-176 Gogeta-176
MP
Niveau 35
24 septembre 2018 à 11:09:33

Pour ceux qui veulent reproduire le code, je le mets en intégralité :

from tkinter import *

fenetre = Tk()

liste = Listbox(fenetre)
liste.pack()

liste.insert(END, "Pierre")
liste.insert(END, "Feuille")
liste.insert(END, "Ciseau")

fenetre.mainloop()

liste.curselection()

C'est la dernière ligne qui pose problème et qui lève l'exception, je ne peux donc pas récupérer la sélection

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : godrik, LGV
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment