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

Python Discussion :

Module time et état d'un bouton


Sujet :

Python

  1. #1
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Mai 2016
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Mai 2016
    Messages : 87
    Points : 43
    Points
    43
    Par défaut Module time et état d'un bouton
    Bonjour,

    Etant dans mes débuts dans la réalisation de programme python, je me permets de vous demander quelques infos.

    Je voudrais afficher dans un widgets, en utilisant le module tkinter, la durée entre deux opération que je réalise dans mon programme (Ouverture et fermeture d'un relais).

    Pouvez vous m'indiquer svp comment faire?
    Je pense qu'il faut utiliser le module time: time.time() mais je ne sais pas comment faire...

    Ma seconde question est: comment récupérer l'état d'un bouton (Début), pour pouvoir ensuite exécuter un ensemble de code?

    En vous remerciant par avance.

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

    Citation Envoyé par Cerise22 Voir le message
    Pouvez vous m'indiquer svp comment faire?
    Je pense qu'il faut utiliser le module time: time.time() mais je ne sais pas comment faire...
    C'est pas si compliqué d'écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    temps_debut = None
    def ouverture_relais():
        global temps_debut
        temps_debut = time.time()
        ...
     
    def fermeture_relais():
          duree = time.time() - temps_debut
          print(duree)
          ...
    Et comme vous pouvez le constatez, pas besoin de tkinter pour faire çà.

    Citation Envoyé par Cerise22 Voir le message
    Ma seconde question est: comment récupérer l'état d'un bouton (Début), pour pouvoir ensuite exécuter un ensemble de code?
    Un Bouton n'a pas d'état: il lance une action/fonction/callback lorsqu'on clique dessus.

    Si vous débutez en Python (et/ou avec Tkinter), il faut prendre le temps de potasser un tuto. pour apprendre les bases de la programmation avec Python et ce qu'on peut faire avec les différents widgets de tkinter.

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

  3. #3
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Mai 2016
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Mai 2016
    Messages : 87
    Points : 43
    Points
    43
    Par défaut
    Merci pour votre réponse.

    J'ai une autre question...

    Concernant le module Tkinter, je souhaiterais afficher avec un intervalle de temps différent texte dans un même label (selon la progression des instructions du code).. Comment pourrais je faire?

    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
    import tkinter
     
    fenetre=Tk()
    a= None
    def message1 (a):
         label1 = LabelFrame(fenetre, text="Messages", padx=20, pady=20, side =Both)
         label1.pack(fill="both", expand="yes")
         Label(label1, text="Introduire l'échantillon").pack()
     
    b=None
    def message2 (b):
         label1 = LabelFrame(fenetre, text="Messages", padx=20, pady=20)
         label1.pack(fill="both", expand="yes")
         Label(label1, text="Attendre").pack()
     
    c=None
    def message3 (c):
         label1 = LabelFrame(fenetre, text="Messages", padx=20, pady=20)
         label1.pack(fill="both", expand="yes")
         Label(label1, text="Retirer échantillon").pack()
     
    message1 (a)
    time.sleep(8)
    message2 (b) 
    time.sleep(8)
    message2 (c)
    fenetre.mainloop()
    Merci d'avance.

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

    Citation Envoyé par Cerise22 Voir le message
    Concernant le module Tkinter, je souhaiterais afficher avec un intervalle de temps différent texte dans un même label (selon la progression des instructions du code).. Comment pourrais je faire?
    Si vous relisez votre documentation tkinter favorite, vous y trouveriez qu'on peut mettre à jour le texte d'un Label via label.configure(text=....) ou label['text'] = ...
    Cependant "selon la progression des instructions du code" est un concept de programmation séquentielle. Une bibliothèque graphique est pilotée par les évènements!
    SI vous écrivez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import tkinter as tk
    import time
     
    root = tk.Tk()
    label = tk.Label(root, text='A')
    label.pack()
    time.sleep(1)
    label['text'] = 'B'
    time.sleep(1)
    label['text'] = 'C'
     
    tk.mainloop()
    Vous ne verrez pas s'afficher A, B puis C mais directement C après 2 secondes d'attente: les mises à jour sont aussi des évènements et pour être traités, il faut que la mainloop tourne... Et quand on attend dans time.sleep(...) rien ne se passe.
    Vous êtes donc obligé de penser et mettre en œuvre "les progression des instructions du code" de façon différente et apprendre les solutions à appliquer suivant le cas.
    Et si vous ne prenez pas le temps d'ouvrir un tuto pour comprendre comment çà fonctionne et comment construire votre code dans ces conditions particulières, vous serez vite largué.

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

  5. #5
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Mai 2016
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Mai 2016
    Messages : 87
    Points : 43
    Points
    43
    Par défaut
    Merci pour votre retour.


    Pour la réalisation de mon programme je vais opter pour la création de plusieurs fenêtres (Toplevel()), afin de pouvoir établir une progression dans le temps de mes instructions (programmation séquentielle).

    A voir si çela marche...

    Cordialement.

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/12/2006, 19h29
  2. Visualisation d'un état via un bouton
    Par TNC dans le forum Access
    Réponses: 16
    Dernier message: 09/08/2006, 17h10
  3. [asp-html]état d'un bouton radio
    Par Adren dans le forum ASP
    Réponses: 1
    Dernier message: 02/08/2006, 12h57
  4. Récuperer l'état d'un bouton radio
    Par Jibees dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 05/04/2006, 10h54
  5. [module time] fonction clock
    Par David38 dans le forum Général Python
    Réponses: 2
    Dernier message: 24/03/2006, 17h59

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