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

Tkinter Python Discussion :

Cacher la valeur d'une variable [tkinter]


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Par défaut Cacher la valeur d'une variable [tkinter]
    Bonjour après divers recherche je n'ai pas trouvé la solution à mon problème :
    A la base on doit saisir un mot dans une case, là j'ai réussi à le cacher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ligne_texte = Entry(fen, show='*', bg = 'bisque', fg='maroon')
    ligne_texte.pack()
    Après une nouvelle fenêtre s'ouvre et dans celle-ci le mot doit être affiché avec les "*" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mot=ligne_texte.get()
    LabelMot=Label(fen2, text=mot, bg='bisque',fg='maroon')
    LabelMot.grid(row='3', column='2')
    Cependant j'ai essayé de rajouer show"*" dans le label mais cela ne marche pas donc je ne sais pas comment faire, merci d'avance.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    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 752
    Par défaut
    Salut,

    Entry affiche ce que l'utilisateur tape et il peut être utile d'afficher des '*' a la place des caractères tapés.
    Label affiche le texte que vous avez décidé d'y afficher.
    Et si vous voulez afficher des '*' à la place de mot, à vous de jouer.

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

  3. #3
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Par défaut
    Il est bien là mon problème, j'ai essayé de faire cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LabelMot=Label(fen2, text=mot, show="*", bg='bisque',fg='maroon')
    Cependant la fonction "show" n'est apparemment pas compatible avec les Labels.

    Merci.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Alka54 Voir le message
    Il est bien là mon problème, j'ai essayé de faire cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LabelMot=Label(fen2, text=mot, show="*", bg='bisque',fg='maroon')
    Cependant la fonction "show" n'est apparemment pas compatible avec les Labels.

    Merci.
    Cher ami,

    ne vous faites pas plus bête que vous ne l'êtes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LabelMot=Label(fen2, text="**********", bg='bisque',fg='maroon')
    si déjà vous voulez masquer un mot de passe, ne laissez aucune indication ni en longueur du mot de passe ni en contenu.

    donc un texte "*************" bidon suffit amplement.

    @+.

  5. #5
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Par défaut
    Non mais justement je me suis mal exprimé au départ, cela n'a rien à voir avec un mot de passe, c'est pour un Jeu du Pendu.

    Je vous montre le principal :

    Nom : 1401118700-pendu1.png
Affichages : 5706
Taille : 9,9 Ko

    Ici je saisie le mot que le joueur doit deviner et j'arrive bien à le cacher, cependant maintenant :

    Nom : 1401118700-pendu2.png
Affichages : 5333
Taille : 15,1 Ko

    J'essaye de remplacer le mot "pendu" entré précédemment par des "*".

    Merci.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Alka54 Voir le message
    Non mais justement je me suis mal exprimé au départ, cela n'a rien à voir avec un mot de passe, c'est pour un Jeu du Pendu.

    Je vous montre le principal :

    Nom : 1401118700-pendu1.png
Affichages : 5706
Taille : 9,9 Ko

    Ici je saisie le mot que le joueur doit deviner et j'arrive bien à le cacher, cependant maintenant :

    Nom : 1401118700-pendu2.png
Affichages : 5333
Taille : 15,1 Ko

    J'essaye de remplacer le mot "pendu" entré précédemment par des "*".

    Merci.
    OK, vu.

    dans ce cas, il faut faire quelque chose dans ce goût-là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    mot_a_trouver = ligne_texte.get()
    # ceci est conforme aux règles du pendu
    mot_masque = mot_a_trouver[0] + ("*" * (len(mot_a_trouver) - 2)) + mot_a_trouver[-1]
    LabelMot=Label(fen2, text=mot_masque, bg='bisque',fg='maroon')
    LabelMot.grid(row='3', column='2')
    étant donné que les règles du pendu stipulent que l'on doit afficher la première et dernière lettre du mot à deviner.

    @+.

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    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 752
    Par défaut
    Citation Envoyé par Alka54 Voir le message
    J'essaye de remplacer le mot "pendu" entré précédemment par des "*".
    Le travail est à faire côté chaines de caractères.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> mot = 'pendu'
    >>> print ('*' * len(mot))
    *****
    >>>
    Puis si vous voulez passer cette chaine de caractère la dans le paramètre "text" d'un Label tk:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> LabelMot=Label(fen2, text='*' * len(mot), bg='bisque',fg='maroon')
    >>> LabelMot['text'] = '*' * len(mot)
    Dit autrement, mettre à jour le "text" d'un Label, mais votre soucis est côté "calcul" de la chaîne de caractère à lui passer.
    Le jeu de "pendu", mettre la chaine dans un Label sont importants pour vous mais côté "code" à réaliser, çà n'a pas grande importance.

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

Discussions similaires

  1. [XSL] Comment modifier la valeur d'une variable?
    Par sorcer1 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 17/02/2010, 13h26
  2. récupération d'une valeur dans une variable
    Par jh0483 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/08/2005, 09h49
  3. Réponses: 2
    Dernier message: 16/08/2005, 09h43
  4. afficher dans une boite de dialogue la valeur d'une variable
    Par micknic dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/07/2005, 09h25
  5. Intercepter le changement de valeur d'une variable
    Par Captain_JS dans le forum C++Builder
    Réponses: 5
    Dernier message: 07/01/2005, 08h04

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