Bonjour à tous!
Pour les besoins d'un projet, j'ai fait un minuteur, qui est censé fermer la fenêtre TK une fois le temps écoulé. J'ai utilisé un thread à part pour fluidifier le programme :
Le problème arrive au niveau de la commande destroy(). En fait, la fenêtre en elle-même reste ouverte même si les boutons qui y figurent ne sont plus accessibles. Mais pour l'interpréteur, la fenêtre est bel et bien fermée (des chevrons réapparaissent une fois le temps écoulé). Je ne comprends pas vraiment ce qui se passe. J'ai creusé sur le web, mais sans succès. J'ai tenté d'isoler le thread par un lock().acquire() mais le résultat est le même.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class ThreadMinuteur(threading.Thread): def __init__(self,fen): threading.Thread.__init__(self) self.fen=fen def run(self): while self.fen.m>0: time.sleep(1) self.fen.m-=1 self.fen.destroy()
Merci de votre aide !
Partager