I have a small python script which draws some turtle graphics. When my script has finished running, the turtle screen automatically closes, so to be able to see the graphics for a while I have to use time.sleep(5)
at the end of the script to delay the closing.
Is there any way I can make this more dynamic, i.e. tell python that I want to control the closing of the window myself? I don't mind if the script can't do anything else while waiting for my command, but I'd prefer if I didn't have to go to the console for a read()
or something. Ideally, the canvas should stay open even after the script finishes running, but I am OK with a solution that halts the script until I close the window that holds the canvas (or click the canvas, or whatever...).
How do I accomplish this?
simply use the mainloop() function imported from turtle's module itself!.
just use
done()
orexitonclick()
as a last command of your turtle program.This waits for several clicks - and draws a spiral while you click - until it decides to exit on the last click:
(edit:
turtle.done()
as suggested by hua below is less ugly.)Try adding
input()
at the end of your code.