Je dois mettre à jour l'interface graphique après la fin d'un thread et appeler cette fonction update_ui du thread principal (comme une interruption de logiciel peut-être?). Comment un thread de travail peut-il appeler une fonction dans le thread principal?Mettre à jour le widget Tkinter à partir du thread principal une fois le thread de travail terminé
Exemple de code:
def thread():
...some long task
update_ui() #But call this in main thread somehow
def main():
start_new_thread(thread)
...other functionality
def update_ui():
Tkinter_widget.update()
J'ai essayé d'utiliser la file d'attente ou un drapeau accessible aux deux fils, mais je dois attendre/poll en permanence pour vérifier si la valeur a été mise à jour et appeler la fonction - cette attente rend l'interface utilisateur inerte. par exemple.
flag = True
def thread():
...some long task
flag = False
def main():
start_new_thread(thread)
while(flag): sleep(1)
update_ui()
...other functionality