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 :

Problème avec nomdutexte.set()


Sujet :

Tkinter Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Février 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Problème avec nomdutexte.set()
    Bonjour

    Je vous écris car je n'ai pas bien compris le principe de cette fonction. En effet, j'ai essayé de programmer le lancer du dé disponible sur le site de Fabrice Sincère. En réécrivant exactement le script, j'ai une erreur et en écrivant ce qui suit, je n'ai pas ce que je veux à savoir une fenêtre avec un bouton Lancer, un bouton Quitter et à côté le texte "Résultat du lancer -> x" où x est le nb obtenu avec le rand int

    Tk Lancer de.py

    Quelles sont les attributs de cette fonction et à quoi sert-elle ?

    pour StringVar() : si j'ai bien compris, elle permet d'actualiser du texte à chaque événement, non ?

    Merci de votre éclairage !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 302
    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 302
    Points : 36 801
    Points
    36 801
    Par défaut
    Salut,

    Citation Envoyé par carrocel Voir le message
    Je vous écris car je n'ai pas bien compris le principe de cette fonction.
    Hélas, vous avez des difficultés à faire la différence entre variables locales et globales. Lorsque vous écrivez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def NouveauLancer():
            nb=random.randint(1,6)
            Texte=StringVar()
            Texte.set("Resultat->"+str(nb))
    Un StringVar sera crée à chaque appel et assigné à variable locale Texte. Le .set modifie cet objet mais ce n'est pas celui que vous avez associé à LabelResultat. Vous pourriez écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def NouveauLancer():
            nb=random.randint(1,6)
            #Texte=StringVar()
            Texte.set("Resultat->"+str(nb))
    Python va dans ce cas chercher Texte dans globals() et y trouver celui qu'il faut...

    Enfin, écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #Création d'un widget Button (bouton Lancer)
    BoutonLancer=Button(Mafenetre, text="Lancer", command=NouveauLancer())
    assigne à "command" le retour de la fonction NouveauLancer (à cause des () qui forcent l'appel de la fonction). Or ce que vous voulez c'est l'appel de la fonction lorsqu'on va cliquer sur le Button.

    Citation Envoyé par carrocel Voir le message
    En effet, j'ai essayé de programmer le lancer du dé disponible sur le site de Fabrice Sincère. En réécrivant exactement le script...
    J'ai vérifié, dans le cours ces erreurs n'existent pas: pas facile de recopier ce qu'on ne comprend pas... cut&paste devraient vous aider pourtant.



    - W

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Février 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    C'était bien ce qu'il me semblait dans mon code ( à propos des variables locales/globales)....mais j'étais persuadée d'avoir retapé le bon code...et ce sont les () qui faisaient que ça bloquait.

    Merci

Discussions similaires

  1. problème avec std::set et iterator
    Par salseropom dans le forum C++
    Réponses: 2
    Dernier message: 30/06/2010, 08h33
  2. Problème avec std::set
    Par DeathMixer dans le forum SL & STL
    Réponses: 2
    Dernier message: 02/06/2009, 16h01
  3. Problème avec les set et la fonction transform
    Par perpau07 dans le forum SL & STL
    Réponses: 5
    Dernier message: 30/10/2008, 21h45
  4. Problème avec un set dans un if dans une boucle
    Par keks06 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 20/05/2008, 09h26
  5. [debutant][Gregoriancalendar] Problème avec le set
    Par britou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 30/06/2004, 16h01

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