Outils pour utilisateurs

Outils du site


python:tk:timer

Fenêtre avec zone d'affichage texte et un timer

La zone de texte est remise en Read Only après chaque insertion de texte.

Un nouveau texte est inséré après 1 seconde puis toutes les 0.5 secondes.

import tkinter as tk
 
class App(tk.Tk):
 
    def __init__(self):
        super().__init__()
        self.title("Starter")
 
        self.text = tk.Text(self, width=80, height=20)
        self.scroll = tk.Scrollbar(self)
 
        self.text.configure(yscrollcommand=self.scroll.set)
        self.scroll.config(command=self.text.yview)
 
        self.text.pack(side=tk.LEFT)
        self.scroll.pack(side=tk.RIGHT, fill=tk.Y)
 
        self.count = 0
        self.after(1000, self.update)
 
    def update(self):
        self.count += 1
        self.display("Coucou %d\n" % (self.count))
        if self.count < 10:
            self.after(500, self.update)
 
    def display(self, str):
        # Mettre le texte en mode normal
        self.text.configure(state=tk.NORMAL)
 
        # Insérer la nouvelle ligne à la fin
        self.text.insert(tk.END, str)
 
        # Remettre le texte en lecture seule
        self.text.configure(state=tk.DISABLED)
 
        # Scroller le texte tout en bas
        self.text.see(tk.END)
 
if __name__ == "__main__":
    app = App()
    app.mainloop()
python/tk/timer.txt · Dernière modification: 2024/04/08 07:21 par marclebrun