IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

récupération valeur Listebox tkinter [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 55
    Par défaut récupération valeur Listebox tkinter
    Bonjour à tous

    Dans mon apprentissage pour python j'essaie de récupérer une valeur d'une List box en double clique dessus

    La ListeBox est dans un Def,

    le print() récupère bien la valeur mais la valeur de retour (return) est toujours None…. Et je ne comprends pas pourquoi

    Merci pour votre aide

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    from tkinter import *
     
    def choix_tkinter ():
        root=Tk()
        sizex = 600
        sizey = 400
        posx  = 40
        posy  = 20
        root.wm_geometry("%dx%d+%d+%d" % (sizex, sizey, posx, posy))
        itemsforlistbox=['one','two','three','four','five','six','seven']
        selected_item = StringVar()
     
        def CurSeletList1(evt):
            value=str(mylistbox.get(mylistbox.curselection()))
            print(value)
            root.destroy()
            return valu
        def CurSeletList2(evt):
            value=str(mylistbox2.get(mylistbox2.curselection()))
            root.destroy()
            print(value)
            return value
     
     
        def nondispo():
            print("non dispo")
            root.destroy()
     
     
        mylistbox=Listbox(root,width=20,height=10,font=('times',13))
        mylistbox.bind('<Double-Button>',CurSeletList1)
        mylistbox.pack(side="right")
     
        mylistbox2=Listbox(root,width=20,height=10,font=('times',13))
        mylistbox2.bind('<Double-Button>',CurSeletList2)
        mylistbox2.pack(side="left")
     
     
        for items in itemsforlistbox:
            mylistbox.insert(END,items)
     
        for items in itemsforlistbox:
            mylistbox2.insert(END,items)
     
     
        BUT_Quitter = Button (root , text = "Quitter" , command =nondispo)
        BUT_Quitter.pack(side=BOTTOM,fill = BOTH)
     
        root.mainloop()
     
     
    choix = choix_tkinter ()
    print(choix)

  2. #2
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Citation Envoyé par vad92 Voir le message
    la valeur de retour (return) est toujours None…. Et je ne comprends pas pourquoi

    Normal. Le print de ta fonction choix_tkinter() affiche None, vu qu'elle ne retourne rien. (abscence de return)

    ...

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Autre remarque...

    Citation Envoyé par vad92 Voir le message
    le print() récupère bien la valeur mais la valeur de retour (return) est toujours None…. Et je ne comprends pas pourquoi
    Apprenez à lire votre code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        def CurSeletList2(evt):
            value=str(mylistbox2.get(mylistbox2.curselection()))
            root.destroy()
            print(value)
            return value
    CurSeletList2 est appelée par tkinter via le bind et non par votre code.
    Du coup, ce que çà retourne sera récupéré par tkinter... (et inutilisable).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 55
    Par défaut
    Merci pour vos retours

    Utilisateur de VBA je dois surement confondre l'attribution des variables...(ex: déclaration la variable en public) ici dans le code la variable "value" n'est dispo que dans le Tkinder ?

    donc si j ai compris :

    il faut que je récupère la valeur du def CurSeletList2 ou CurSeletList1 dans le tkinter qui renvoie ensuite(return) dans le programme (StringVar() )?
    ou appel la fonction CurSeletList2 directement dans le programme...

    je test, test mais je bloque un peu

    si vous avez un exemple de quelques lignes je suis preneur

    Vad

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par vad92 Voir le message
    si vous avez un exemple de quelques lignes je suis preneur
    Vous avez des exemples de programmation tkinter dans tous les tutos abordent ce type de programmation.
    Vous constateriez qu'ils ne ressemblent pas au code que vous avez posté.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 55
    Par défaut
    Ok direction "https://vincent.developpez.com/cours-tutoriels/python/tkinter/apprendre-creer-interface-graphique-tkinter-python-3/#LIII-G"
    je vais bien finir par comprendre

  7. #7
    Futur Membre du Club
    Homme Profil pro
    commerçant
    Inscrit en
    Octobre 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : commerçant

    Informations forums :
    Inscription : Octobre 2022
    Messages : 4
    Par défaut problème similaire
    bonjour à tous
    j ai un problème un peu ressemblant, j ai 2 ListBox, je veux sélectionner un fichier mp3 dans la listbox 2 et l inserer la listbox 1
    j ai écrit ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def ajouter_titre():
     
        ListBox.insert(tk.FIRST,content.get())
        content = ListBox2.curselection()
    ca marche pas
    merci d avance pour un peu d aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 21/07/2023, 11h45
  2. Pb avec les checkbox: tout sélectionner,récupération valeurs
    Par bubble_gum dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/10/2004, 17h42
  3. [Débutant][JSP]Récupération valeur de checkbox
    Par Crazyblinkgirl dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 01/09/2004, 09h16
  4. récupération valeur id auto incrément
    Par Jovial dans le forum Requêtes
    Réponses: 2
    Dernier message: 31/08/2004, 08h56
  5. Récupération valeur d'une propriété type TStrings
    Par Stéphane Vaillant dans le forum Langage
    Réponses: 2
    Dernier message: 01/03/2003, 11h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo