Comment créer une minuterie en utilisant tkinter?
J'ai besoin de coder un programme avec Python bibliothèque tkinter.
Mon problème majeur est que je ne sais pas comment créer un minuterie ou un horloge comme
hh:mm:ss
.
J'en ai besoin pour mettre à jour lui-même (c'est ce que je ne sais pas comment faire).
Vous devez vous connecter pour publier un commentaire.
Tkinter racine de windows ont une méthode appelée
after
qui peut être utilisée pour programmer une fonction qui doit être appelée après une période de temps donnée. Si cette fonction elle-même appelleafter
vous avez mis en place un événement récurrent.Ici est un exemple:
Garder à l'esprit que
after
ne garantit pas la fonction fonctionnera exactement à l'heure. Il ne horaires de la tâche à exécuter après un laps de temps donné. Il l'app est occupé, il peut y avoir un délai avant qu'il est appelé depuis Tkinter est mono-thread. Le délai est généralement exprimé en microsecondes.Python3 exemple d'horloge à l'aide de l'image.après() plutôt que l'application de haut niveau. Montre également la mise à jour de l'étiquette avec un StringVar()
self.after(1000 - int(1000 * (time.time() - int(time.time()))) or 1000, self.onUpdate)
. Probablement préférable d'économiser de l'time.time()
dans une variable avant de cette expression.Je viens de créer un simple minuterie à l'aide du modèle MVP (cependant, il peut être
overkill pour ce projet simple). Il a quitté, start/pause et stop. L'heure est affichée au format HH:MM:SS. Le temps de comptage est mis en œuvre à l'aide d'un thread qui exécute plusieurs fois par seconde et la différence entre le moment où le compte à rebours est commencé et l'heure actuelle.
Le code Source sur github