Bonjour à tous,

Voici: j'ai créé un programme récursif de résolution de puzzle, que je souhaite pouvoir arrêter quand je le veux et le redémarrer de la même façon. Pour cela j'ai pensé à utiliser une variable globale de ma classe "flag" ainsi que le gestionnaire d'événement de ma fenêtre graphique qui détecte quand l'utilisateur appuie sur un bouton "arrêter". Je souhaite que l'exécution de ma procédure reste suspendue jusqu'à ce que l'utilisateur appuie sur un bouton "reprendre".

On dispose des 2 procédures suivantes, rattachés à des boutons par la fonction mainloop.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
def stop_it():
"arret de l'animation"
self.flag =0
 
def start_it():
"démarrage de l'animation"
if self.flag ==0: # pour ne lancer qu'une seule boucle
self.flag =1


J'avais bien pensé à quelque chose du genre:
inséré judicieusement dans la procédure à arrêter, mais sans grand succès... Pouvez-vous m'aider?


Mathieu