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éré la valeur String d'une entry [Python 3.X]


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2018
    Messages : 22
    Points : 18
    Points
    18
    Par défaut Récupéré la valeur String d'une entry
    Bonjour, bonjour !

    Me voici confronté à un problème tellement ridicule depuis plusieurs jours. En bref j'ai un projet de labyrinthe ou j'aimerai que le joueur X rentre un nom d'utilisateur en début de partie, le problème étant que je n'arrive pas du tout à récupéré une valeur de type String dans une entry à l'aide J'ai regardé partout sur internet, j'ai essayer un paquet d'astuce et je ne trouve vraiment pas...

    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
    from tkinter import *
    from random import *
     
    def valid_enter():
        test = user.get()
        utilisateur.set(test)
        test2 = Label(utilisateur)
        test2.place(x=50,y=50)
     
    main = Tk()
    main.resizable(width=False, height=False) #Interdit le redimenssionnage
     
    main.title("Labyrinthe")
    #w,h = main.winfo_screenwidth(), main.winfo_screenheight() #w,h = main.on prend la taille de la largeur de la fenetre, main...... hauteur
    main.geometry("720x480+285+180")
    user = StringVar()
    user.set("Utilisateur")
    utilisateur = StringVar()
    enter_user = Entry(main, textvariable=user)
    enter_user.place(x=260,y=100)
     
     
    valid = Button(main,text="Valider", command=valid_enter)
    valid.place(x=300,y=150)
     
     
    main.mainloop()

  2. #2
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Salut.

    Ton problème est ici.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test2 = Label(utilisateur)
    Le Label demande comme parent un widget pas une StringVar, celle-ci doit être, comme pour Entry passé au paramètre textvarable.
    Le temps ronge l'amour comme l'acide.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2018
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Salut !

    Merci de ta réponse, je ne vois pas en quoi ceci est un problème, de plus c'est simplement une ligne test. Mon problème ici est vraiment de récupéré la valeur String dans l'entry.

    Merci

  4. #4
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Tu l'as déjà cette valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def valid_enter():
        test = user.get()
        print(test)
    Si ce n'est pas un problème que python te jette une erreur, tu ne vas pas allez bien loin si tu en fais abstraction
    Le temps ronge l'amour comme l'acide.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2018
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Je te remercie !

    Je ne comprend pas comment cela ce fait car la ligne actuel que j'ai je l'ai déjà essayer et elle m'étais indiqué comme erronée

    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
    from tkinter import *
    from random import *
     
    def valid_enter():
        test = user.get()
        if test !="":
            print("Erreur! Il faut indiqué un nom d'utilisateur !!")
        else:
            print(test)
            enter_user.delete(0,END)
     
     
    main = Tk()
    main.resizable(width=False, height=False) #Interdit le redimenssionnage
     
    main.title("Labyrinthe")
    #w,h = main.winfo_screenwidth(), main.winfo_screenheight() #w,h = main.on prend la taille de la largeur de la fenetre, main...... hauteur
    main.geometry("720x480+285+180")
    user = StringVar()
    user.set("Utilisateur")
    enter_user = Entry(main, textvariable=user)
    enter_user.place(x=260,y=100)
     
     
    valid = Button(main,text="Valider", command=valid_enter)
    valid.place(x=300,y=150)
     
     
    main.mainloop()
    Je suis désormais à la recherche d'une façons de vérifier qu'il y a au moins 1 caractère sauf seulement ESPACE je vais chercher Bonne soirée

  6. #6
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 784
    Points : 7 043
    Points
    7 043
    Par défaut
    Ligne 6 tu indiques une condition où si test existe (donc si on écrit dans le widget Entry), on affiche une erreur...

    Peut-être voulais-tu écrire,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if not test:
        # blabla
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 18/01/2016, 19h54
  2. Réponses: 11
    Dernier message: 30/10/2007, 10h35
  3. JButton en fonction d'une valeur String
    Par henry.schmitt dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 04/09/2006, 01h46
  4. récupérer une valeur String, est-ce correct.
    Par LESOLEIL dans le forum Langage
    Réponses: 2
    Dernier message: 06/04/2006, 11h56
  5. Réponses: 2
    Dernier message: 04/04/2006, 09h37

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