Maison > développement back-end > Tutoriel Python > Comment puis-je planifier des mises à jour dans Tkinter sans geler l'interface graphique ?

Comment puis-je planifier des mises à jour dans Tkinter sans geler l'interface graphique ?

Susan Sarandon
Libérer: 2024-12-08 15:00:16
original
829 Les gens l'ont consulté

How Can I Schedule Updates in Tkinter Without Freezing the GUI?

Planification des mises à jour dans Tkinter

Tkinter nécessite une minuterie ou une horloge pour afficher dynamiquement des informations en temps réel, comme une horloge. Cependant, utiliser time.sleep() dans une boucle peut geler l'interface graphique.

Utilisation de la méthode after de Tkinter

Les fenêtres racine de Tkinter fournissent la méthode after, qui peut planifier un fonction à exécuter après un intervalle de temps spécifié. L'appel récursif après dans la fonction permet la répétition automatique d'un événement.

Exemple de code :

import Tkinter as tk
import time

class App:
    def __init__(self):
        self.root = tk.Tk()
        self.label = tk.Label(text="")
        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=App()
Copier après la connexion

Dans cet exemple, une classe App est créée pour afficher une horloge dans une fenêtre Tkinter. La méthode update_clock est programmée pour s'exécuter de manière répétée toutes les secondes à l'aide de la méthode after. Cela permet à l'horloge d'être mise à jour dynamiquement sans geler l'interface graphique.

Remarque :

Après ne garantit pas que la fonction s'exécutera exactement à l'heure. Il planifie le travail et le temps d'exécution réel peut varier en fonction de la charge de travail de l'application. Dans Tkinter, le délai est généralement mesuré en microsecondes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal