Bonjour, en exécutant mon programme, j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
RuntimeError: main thread is not in main loop
, j'ai eu un début d'information ici :
http://mail.python.org/pipermail/tki...ry/000313.html

mais je n'ai pas compris comment corriger vraiment mon problème.

Voilà à quoi cela ressemble schématiquement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
class Application(Tkinter.Tk):
    #Methode __init__, qui initialise l'application
    def __init__(self):
        Tkinter.Tk.__init__(self)
        self.mes_widgets=Init_mes_widgets(self)
        self.mon_thread=Init_mon_thread(self)
        self.mon_thread.start()
 
if __name__ == '__main__':
    application = Application()
    application.mainloop()
,
application.mon_thread est un thread séparé, qui est géré par l'application et qui opère des rafraichissements sur des Labels, ou des textvariable.

Donc, en effet, ce n'est pas bon de faire s'occuper deux threads séparés de la même interface graphique, comme j'ai pu le voir sur le lien donné plus haut. Mais je ne sais pas comment remplacer mon thread, avec ses opérations périodiques et ses attentes avec sleep() dans mon application. J'ai l'impression que je suis obligé d'utiliser un thread. Je ne comprends pas le programme d'exemple lié au lien ci-dessus. Comment dois-je faire alors pour corriger cela ? Pouvez-vous m'aider à me passer de ce thread ?