CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • 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 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Problème Python

Gogeta-176
Gogeta-176
Niveau 43
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
Niveau 43
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

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment