web-dev-qa-db-fra.com

Turtle graphics - Comment contrôler la fermeture de la fenêtre?

J'ai un petit script en python qui dessine des graphiques de tortues. Lorsque mon script est terminé, l'écran de la tortue se ferme automatiquement. Par conséquent, pour pouvoir visualiser les graphiques pendant un moment, je dois utiliser time.sleep(5) à la fin du script pour retarder la fermeture.

Est-il possible de rendre cela plus dynamique, c'est-à-dire de dire à python que je veux contrôler moi-même la fermeture de la fenêtre? Cela ne me dérange pas si le script ne peut rien faire d’autre en attendant ma commande, mais je préférerais que je n’ai pas à aller sur la console pour un read() ou quelque chose du genre. Idéalement, le canevas doit rester ouvert même après la fin du script, mais je suis d'accord avec une solution qui arrête le script jusqu'à ce que je ferme la fenêtre qui contient le canevas (ou clique sur le canevas, etc.).

Comment puis-je accomplir cela?

22
Tomas Aschan

utilisez simplement done() ou exitonclick() comme dernière commande de votre programme de tortue.

40
hua
import turtle

turtle.forward(100)
turtle.left(90)
turtle.forward(100)
# etc.

turtle.getscreen()._root.mainloop()  # <-- run the Tkinter main loop

(edit: turtle.done() comme suggéré par hua ci-dessous est moins laid.)

17
PAG

utilisez simplement la fonction mainloop () importée du module de tortue lui-même !.

import turtle


#Draw a square
for i in range(4):
    turtle.forward(200)
    turtle.left(90)


#calling for the mainloop()
turtle.mainloop()
8
XGuru

Essayez d’ajouter input() à la fin de votre code.

0
ddop