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 :

Changer les paramêtre d'un bouton


Sujet :

Tkinter Python

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Changer les paramêtre d'un bouton
    Bonjour,

    Je suis en train de réaliser un petit jeu pour me familliariser aver Tkinter.
    C'est un jeu où l'on doit trouver un nombre caché qui est généré aléatoirement.

    La où je bloque, c'est au niveau de modifier les paramêtre d'un bouton lorsque la partie est terminée (perdue ou gagnée).

    J'aimerai que mon bouton ([...]text="tester" comand=calcul) devienne ([...]text="recommencer" command=start) afin de réinitialiser la partie.

    Voici mon code :
    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
    54
    55
    56
     
    # -*- coding: Latin-1 -*- 
    from Tkinter import * 
    import random
     
    def start () :
        global nombre_cache,E,statut,bouton_text
        nombre_cache = random.randint(1,100)
        E = 10
        statut = 1
     
    def calcul ():
        global E,statut,bouton_text
        #Récupération des variables
        D=int(A.get()) 
        if statut == 1 :
            if E == 0 :
                   chaine.configure(text = "Vous avez perdu !" , fg="white" , bg="red")
            else :
                if D < nombre_cache :
                    E = E -1
                    chaine.configure(text = "Le nombre caché est plus grand que %s"%D , fg="white" , bg="red")
                    chaine2.configure(text = "Essai(s) restant : %s"%E)
     
                elif D > nombre_cache :
                    E = E -1
                    chaine.configure(text = "Le nombre caché est plus petit que %s"%D , fg="white" , bg="red")
                    chaine2.configure(text = "Essai(s) restant : %s"%E)
     
                elif D == nombre_cache :
                    E = E -1
                    coups = 10 - E 
                    chaine.configure(text = "Bravo ! Le nombre caché était %s"%D , fg="black" , bg="green")
                    chaine2.configure(text = "Vous avez trouvé en %s coups !"%coups)
                    statut = 0
        else :
            print "partie finie"
    statut = 1
    start()
    fenetre = Tk()
    fenetre.title("Nombre caché")
    fenetre.geometry('400x240+50+10')
    txt2=Label(fenetre, text="Essayez de trouver le nombre caché").grid(row=1, column=1)  
    txt1=Label(fenetre, text="Nombre : ").grid(row=2, column=1) 
    bou1 = Button(fenetre,text="tester",command=calcul).grid(row=4 , column=1)
    bou2 = Button(fenetre,text='Quitter',command=fenetre.destroy).grid(row=5, column=1) 
     
    A=Entry(fenetre) 
    chaine = Label(fenetre)
    chaine2 = Label(fenetre)
     
    A.grid(row=2, column=1) 
    chaine.grid(row=6, column=1)
    chaine2.grid(row=7, column=1)
     
    fenetre.mainloop()
    Si vous avez une solution et/ou des améliorations pour mon code, j'en serai heureux !

    Meilleures salutations,
    -- Woodkand

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Re bonjour,

    Désolé du double-post

    Mon problème pour le bouton est résolu.
    En effet, il m'a suffit de mettre le [...].grid en dessous et pas directement apondu à mon bouton.

    Ainsi les parametres tels que .grid_forget() fonctionnent.

    J'ai modifié un peu mon code et ça fonctionne pas trop mal.

    Mon code :
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    # -*- coding: Latin-1 -*- 
    from Tkinter import * 
    import random
     
    def start () :
        global nombre_cache,E,statut,bouton_text
        nombre_cache = random.randint(1,100)
        E = 10
        if statut == 0 :
            chaine.configure(text = "")
            chaine2.configure(text = "")
            bou3.grid_forget()
        statut = 1
        bou1.grid(row=4 , column=1)
     
    def quitter () :
        fenetre.destroy()
        fenetre.quit()
        quit()
     
    #Fonction calcul 
    def calcul ():
        global E,statut,bouton_text
        #Récupération des variables
        D=int(A.get()) 
        if statut == 1 :
            if E == 0 :
                   chaine.configure(text = "Vous avez perdu !" , fg="white" , bg="red")
            else :
                if D < nombre_cache :
                    E = E -1
                    chaine.configure(text = "Le nombre caché est plus grand que %s"%D , fg="white" , bg="red")
                    chaine2.configure(text = "Essai(s) restant : %s"%E)
     
                elif D > nombre_cache :
                    E = E -1
                    chaine.configure(text = "Le nombre caché est plus petit que %s"%D , fg="white" , bg="red")
                    chaine2.configure(text = "Essai(s) restant : %s"%E)
     
                elif D == nombre_cache :
                    E = E -1
                    coups = 10 - E 
                    chaine.configure(text = "Bravo ! Le nombre caché était %s"%D , fg="black" , bg="green")
                    chaine2.configure(text = "Vous avez trouvé en %s coups !"%coups)
                    statut = 0
                    bou1.grid_forget()
                    bou3.grid(row=4 , column=1)
        else :
            print "partie finie"
    statut = 1
    fenetre = Tk()
    fenetre.title("Nombre caché")
    fenetre.geometry('400x240+50+10')
    txt2=Label(fenetre, text="Essayez de trouver le nombre caché").grid(row=1, column=1)  
    txt1=Label(fenetre, text="Nombre : ").grid(row=2, column=1) 
    bou1 = Button(fenetre,text="tester",command=calcul)
    bou3 = Button(fenetre,text="Recommnecer",command=start)
    bou2 = Button(fenetre,text='Quitter',command=quitter).grid(row=5, column=1) 
    A=Entry(fenetre) 
    chaine = Label(fenetre)
    chaine2 = Label(fenetre)
    A.grid(row=2, column=1) 
    chaine.grid(row=6, column=1)
    chaine2.grid(row=7, column=1)
     
    start()
     
    fenetre.mainloop()
    Les critiques ou conseils sont les bienvenus !

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

Discussions similaires

  1. Changer les paramètres TCP/IP de ma machine
    Par Vazily dans le forum Web & réseau
    Réponses: 1
    Dernier message: 21/09/2007, 11h31
  2. changer les paramètre d'un frame à partir d'un autre
    Par kenzouza dans le forum JBuilder
    Réponses: 3
    Dernier message: 06/03/2007, 13h31
  3. Changer les paramètres de Firefox
    Par lodan dans le forum Langage
    Réponses: 2
    Dernier message: 14/08/2006, 12h05
  4. changer les paramètres d'internet rapidement
    Par Mut dans le forum Windows
    Réponses: 4
    Dernier message: 02/02/2006, 21h30
  5. Changer les paramètres régionaux
    Par STEF_1 dans le forum Access
    Réponses: 2
    Dernier message: 27/10/2004, 15h39

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