it-swarm.com.de

Schildkrötengrafik - Wie kontrolliere ich, wann das Fenster geschlossen wird?

Ich habe ein kleines Python-Skript, das einige Schildkrötengrafiken zeichnet. Wenn mein Skript beendet ist, schließt sich der Bildschirm der Schildkröte automatisch. Um die Grafiken eine Zeit lang anzeigen zu können, muss ich am Ende des Skripts time.sleep(5) verwenden, um das Schließen zu verzögern.

Gibt es eine Möglichkeit, dies dynamischer zu gestalten, d. H. Python mitzuteilen, dass ich das Schließen des Fensters selbst steuern möchte? Es macht mir nichts aus, wenn das Skript nichts anderes tun kann, während ich auf meinen Befehl warte, aber ich würde es vorziehen, wenn ich nicht wegen read() oder so etwas zur Konsole gehen müsste. Im Idealfall sollte die Leinwand auch nach der Ausführung des Skripts geöffnet bleiben, aber ich bin mit einer Lösung in Ordnung, die das Skript anhält, bis ich das Fenster mit der Leinwand schließe (oder auf die Leinwand oder was auch immer klicken).

Wie mache ich das?

22
Tomas Aschan

verwenden Sie einfach done() oder exitonclick() als letzten Befehl Ihres Turtle-Programms.

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(), wie von hua vorgeschlagen, ist weniger hässlich.)

17
PAG

verwenden Sie einfach die mainloop () - Funktion, die aus dem Turtle-Modul importiert wurde!.

import turtle


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


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

Versuchen Sie, input() am Ende Ihres Codes hinzuzufügen.

0
ddop