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 :

Grid Afficher une variable et la mettre à jour tout les secondes [Python 3.X]


Sujet :

Tkinter Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Etudiant Master Secu IT
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Etudiant Master Secu IT
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Grid Afficher une variable et la mettre à jour tout les secondes
    Bonjour,
    Je rencontre un problème dans mon code et j'espère que vous pourrez m'aider à trouver une solution ou se qu'il va pas.
    Je n'arrive pas bien a situer le problème vu que Python IDE ne m'affiche aucune erreur bien que mon programme ne ce lance pas.

    Mon programme est très simple, son but est d'afficher une variable qui est incrémenté tout les secondes par un "gain" définis.
    Par exemple si mon gain est 1, ma variable doit voir ça valeur augmenter de 1 chaque secondes.

    Pour ce faire j'ai utilisé une fonction dans laquelle j'ai mis une boucle while infinie qui permet d'incrémenter la variable.
    Pour être honnête je pense que mon erreur se situe dans le fait qu'on ne sorte jamais du while mais je vois pas du tout comment faire autrement.

    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
     
    #!/usr/bin/python3.4
    # -*-coding: utf-8 -*
     
    import time
    import tkinter as tk
     
    capital=0
    gain=1
    stock=0
    statesOfScale=0
     
    root= tk.Tk()
    root.title("-- No Name --")
    root['bg'] = "dark slate grey"
     
    def increase():
    	global capital
    	global gain
    	while statesOfScale!=1:
    		capital=capital+gain
    		time.sleep(1)
    	return capital
     
    labHead = tk.Label(root, text="Hi kid, u have now {} Candys".format(increase()), bg="dark slate grey" )
    labHead.grid(row=2, column=1, padx=15, pady=5, sticky=tk.W)
     
    buttonQuit = tk.Button(root, text=Quiter, command=root.quit)
    buttonQuit.grid(row=6, column=8, padx=15, pady=15, sticky=tk.E)
     
    root.mainloop()

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

    Citation Envoyé par lolight Voir le message
    Pour ce faire j'ai utilisé une fonction dans laquelle j'ai mis une boucle while infinie qui permet d'incrémenter la variable.
    Pour être honnête je pense que mon erreur se situe dans le fait qu'on ne sorte jamais du while mais je vois pas du tout comment faire autrement.
    Vous pourriez commencer par programmer la mise à jour du texte du Label lorsque vous cliquez sur un Button,
    SI c'est encore trop compliqué, il faut prendre le temps de lire un tuto.. Vous y découvrirez comment faire fonctionner tkinter et des exemples de codes dont vous pourrez vous inspirer.

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

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Etudiant Master Secu IT
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Etudiant Master Secu IT
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Hello, je passe un peut tardivement pour vous remercier pour votre aider et en même temps vous dire que j'ai trouvé une solution.
    J'avais fais un bouton update qui d'ailleurs fonctionnais mais je ne voulais pas trouver de bouton du coup j'ai continuer de chercher et j'ai finis par trouver ma solution.

    Donc au final je m'en suis tiré avec une mise à jour de mon text label automatique au bout de x milli secondes avec la fonction "fenetre.after(TempsEnMS, NomDeLaFonction).

    Merci pour m'avoir mis sur la voie

    Solved

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

Discussions similaires

  1. Mettre à jour toutes les lignes d'une table
    Par huzard dans le forum MySQL
    Réponses: 6
    Dernier message: 25/02/2015, 19h05
  2. Mettre à jour toutes les colonnes d'une table avec MERGE INTO
    Par Andre.lissarrague dans le forum SQL
    Réponses: 9
    Dernier message: 10/12/2013, 10h13
  3. Réponses: 2
    Dernier message: 10/03/2010, 11h50
  4. afficher une variable (montant) en dollar
    Par camirefr dans le forum ASP
    Réponses: 1
    Dernier message: 19/01/2006, 22h45
  5. changer et afficher une variable en fonction d'un select
    Par psychoBob dans le forum Général JavaScript
    Réponses: 30
    Dernier message: 22/11/2005, 08h15

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