Comment utiliser un timer dans Tkinter

Jinku Hu 3 janvier 2023
Comment utiliser un timer dans Tkinter

La fenêtre racine de Tkinter a une méthode dédiée after qui appelle une fonction après une période de temps donnée -

after(ms, func)

ms est l’intervalle dans l’unité de ms,

func est le nom de la fonction appelée.

try:
    import Tkinter as tk
except:
    import tkinter as tk

import time


class Clock:
    def __init__(self):
        self.root = tk.Tk()
        self.label = tk.Label(text="", font=("Helvetica", 48), fg="red")
        self.label.pack()
        self.update_clock()
        self.root.mainloop()

    def update_clock(self):
        now = time.strftime("%H:%M:%S")
        self.label.configure(text=now)
        self.root.after(1000, self.update_clock)


app = Clock()

self.root.after(1000, self.update_clock) appelle la fonction elle-même après 1000 ms, donc, la fonction update_clock() est exécutée à l’intervalle de 1000 ms et affiche l’heure actuelle dans l’étiquette de Tkinter.

Attention
Sachez que la période donnée dans la méthode after n’est pas garantie d’appeler la fonction après la période précise, car elle pourrait être retardée si l’application est occupée, résultant du fait que Tkinter est monofilaire.

Horloge du timer de Tkinter

Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook