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 :

afficher compteur avec 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
    Enseignant
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Par défaut afficher compteur avec tkinter
    Bonjour,
    débutant en python et tkinter, je voudrais essayer de faire un jeu (le jeu du plus ou moins) avec tkinter: j'y arrive mais je n'arrive pas à afficher un compteur du nombre de coups joués: il reste toujours bloqué sur 1 ou pas du tout:
    voici mon dernier essai: certains mots sont en espagnol car je me suis inspiré d'une vidéo en espagnol que je parle couramment mais si cela gêne je peux retraduire
    merci de 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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    from tkinter import*
     
    import random
    from tkinter.messagebox import*
     
     
    Nb= random.randrange(1,100)
     
     
    def Compteur():
        global Compteur
        Compteur.set(int(Compteur.get())+1)
     
    def obtener():
        valor = CajaNumero.get()
        print(valor.get())
     
    def CplusCmoins():
     
     
        c=0
        Choix=valor.get()
        if Choix < Nb:
            c+=1
     
            a= ('c est plus') 
            #print(a )
            messagebox.showinfo("Resultat:     "," "+ a)
        elif Choix> Nb:
            c+=1
     
            a= ('c est moins')
            #print(a)
            ("Resultat:     "," "+ a)
        else:
            c+=1
     
            a = ('bravo')
            #print(a)
            messagebox.showinfo("Resultat:     "," "+ a)
     
     
    ventana = Tk()
    Choix= IntVar()
     
     
     
     
     
     
    ventana.title("jeu du plus ou moins")
    ventana.geometry('400x400')
     
    fondo=PhotoImage(file="cascade.gif")
    lblFondo=Label(ventana, image=fondo).place(x=0,y=0)
     
     
    # Création d'un widget Button (bouton Quitter)
    BoutonQuitter = Button(ventana, text ='Sortir', command = ventana.destroy)
    BoutonQuitter.pack(side = RIGHT, padx = 10, pady = 10)
    # Création d'un widget Button (bouton Conitunerr)
    BoutonContinuer = Button(ventana, text ='Continuer')
    BoutonContinuer.pack(side = LEFT, padx = 10, pady = 10)
     
    valor = IntVar()
    a= IntVar()
     
     
     
    etiqueta1=Label(ventana,text= "ecris un nombre", fg="red").place(x=10,y=40)                                                                   
    CajaNumero=Entry(ventana,textvariable = valor, width=10).place(x=10, y=60)
     
     
    boton2=Button(ventana, text="valider ",command= CplusCmoins).place(x=10, y=80)
     
    ventana.mainloop()

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

    Vous choisissez la langue que vous voulez pourvu que ce soit Python

    Voilà comment on peut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    >>> import tkinter as tk
    >>> root = tk.Tk()
    >>> compteur = tk.IntVar(value=0)
    >>> tk.Label(textvariable=compteur).pack()
    >>> def do_sortie():
    ...     value = compteur.get()
    ...     if value > 0:
    ...        compteur.set(value-1)
    ...
    >>> tk.Button(text='entree', command=lambda: compteur.set(compteur.get()+1)).pack()
    >>> tk.Button(text='sortie', command=do_sortie).pack()
    >>> tk.mainloop()
    >>>
    et c'est le cut&paste d'un code que j'ai posté il y a peu... dont le sujet était "comment compter".

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

  3. #3
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Vous choisissez la langue que vous voulez pourvu que ce soit Python

    Voilà comment on peut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    >>> import tkinter as tk
    >>> root = tk.Tk()
    >>> compteur = tk.IntVar(value=0)
    >>> tk.Label(textvariable=compteur).pack()
    >>> def do_sortie():
    ...     value = compteur.get()
    ...     if value > 0:
    ...        compteur.set(value-1)
    ...
    >>> tk.Button(text='entree', command=lambda: compteur.set(compteur.get()+1)).pack()
    >>> tk.Button(text='sortie', command=do_sortie).pack()
    >>> tk.mainloop()
    >>>
    et c'est le cut&paste d'un code que j'ai posté il y a peu... dont le sujet était "comment compter".

    - W

  4. #4
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Par défaut
    bonsoir
    merci pour votre réponse rapide
    en fait j'avais déjà vu ce code mais je n'arrive pas à faire en sorte que, à chaque fois que le joueur joue un nombre et tant qu'il na pas trouvé le bon nombre, le compteur s'affiche dans une fenêtre et augmente d'un à chaque coup joué
    en fait le mieux que j'arrive à faire, c'est afficher le compteur mais il reste bloqué à 1même si le joueur a joué en 10 coups
    mingote

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 736
    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 736
    Par défaut
    Salut,
    Citation Envoyé par mingote Voir le message
    en fait le mieux que j'arrive à faire, c'est afficher le compteur mais il reste bloqué à 1 même si le joueur a joué en 10 coups
    Certes mais difficile (pour moi) de voir comment vous avez essayé de coder l'histoire que vous racontez.

    Dit autrement, c'est quoi le compteur?
    La variable Tk nommé Compteur à laquelle vous n'accédez que dans une fonction homonyme jamais appelée ou la variable locale "c" dans le callback "CplusCmoins()" qui étant locale et jamais testée ne sert à rien?

    Si dans le code que vous postez il n'est pas facile de discerner de quoi vous parlez, çà va pas être facile.

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

  6. #6
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Par défaut
    bonjour
    au départ , j'ai essayé d'afficher mon compteur c:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    c=0
        Choix=valor.get()
        if Choix < Nb:
            c+=1
     
            a= ('c est plus') 
            #print(a )
            messagebox.showinfo("Resultat:     "," "+ a, c)
    mais voici le message que j'obtiens

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Exception in Tkinter callback
    Traceback (most recent call last):
      File "C:\Python34\lib\tkinter\__init__.py", line 1482, in __call__
        return self.func(*args)
      File "C:/Python34/dev.py", line 28, in CplusCmoins
        messagebox.showinfo("Resultat:     "," "+ a, c)
    TypeError: showinfo() takes from 0 to 2 positional arguments but 3 were given
    les 2 definitions 'obtener' et 'compteur ' que j'ai laissées (pour info )sans les appeler c'est que après plusieurs essais infructueux, je n'arrive pas à les utiliser!

Discussions similaires

  1. [Mail] afficher un compteur avec sleep
    Par tonin10 dans le forum Langage
    Réponses: 4
    Dernier message: 02/08/2008, 13h19
  2. Afficher un compteur avec nb de caractères constants
    Par aliassaf dans le forum Général Python
    Réponses: 2
    Dernier message: 22/06/2006, 18h38
  3. [Tkinter] Un petit souçis d'event avec Tkinter
    Par fire.stone dans le forum Tkinter
    Réponses: 4
    Dernier message: 29/10/2005, 20h56
  4. Compteur avec OpenDialog
    Par bajax dans le forum C++Builder
    Réponses: 3
    Dernier message: 25/08/2004, 13h48
  5. afficher texte avec retour chariot aprèq requète sql
    Par frenchy371 dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/01/2004, 17h33

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