Maison > développement back-end > Tutoriel Python > Comment puis-je exécuter du code externe simultanément avec la boucle d'événements de Tkinter ?

Comment puis-je exécuter du code externe simultanément avec la boucle d'événements de Tkinter ?

Susan Sarandon
Libérer: 2024-12-21 09:53:10
original
320 Les gens l'ont consulté

How Can I Run External Code Concurrently with Tkinter's Event Loop?

Exécuter du code externe simultanément avec la boucle d'événements de Tkinter

L'intégration de code défini par l'utilisateur dans la boucle d'événements de Tkinter peut être un défi. Dans ce cas, un programmeur novice rencontre des problèmes où Tkinter domine la boucle d'événements, empêchant sa simulation de troupeau d'oiseaux de s'exécuter en continu.

Pour résoudre ce problème, l'objet Tk fournit une méthode puissante : après. La syntaxe de cette méthode est la suivante :

def after(self, ms, func=None, *args):
    """Call function once after given time.

    MS specifies the time in milliseconds. FUNC gives the
    function which shall be called. Additional parameters
    are given as parameters to the function call.  Return
    identifier to cancel scheduling with after_cancel."""
Copier après la connexion

En utilisant after, vous pouvez planifier l'exécution d'une fonction après un intervalle de temps spécifié. Voici un exemple :

from tkinter import *

root = Tk()

def task():
    print("hello")
    root.after(2000, task)  # reschedule event in 2 seconds

root.after(2000, task)
root.mainloop()
Copier après la connexion

Dans cet exemple, la fonction de tâche est planifiée pour s'exécuter toutes les 2 secondes dans la boucle d'événements Tkinter. La fonction mainloop garantit que Tkinter continue de traiter les événements pendant que les tâches planifiées s'exécutent.

Cette solution fournit un moyen fiable et simple d'exécuter du code externe parallèlement à la boucle d'événements de Tkinter, éliminant ainsi le besoin de concepts multithread complexes et évitant le hackish. méthode « maintien du bouton ».

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