龟图形-如何控制窗口何时关闭?

问题描述

| 我有一个小的python脚本,它绘制了一些乌龟图形。当我的脚本运行完毕后,乌龟屏幕会自动关闭,因此要一段时间才能看到图形,我必须在脚本末尾使用ѭ0来延迟关闭。 有什么办法可以使它更具动态性,即告诉python我想自己控制窗口的关闭?我不介意脚本在等待命令时是否无法执行其他任何操作,但我更愿意不必在控制台上输入ѭ1或类似内容。理想情况下,即使脚本完成运行后,画布也应保持打开状态,但是我可以采用一种暂停脚本的解决方案,直到关闭包含画布的窗口(或单击画布,或其他任何方式)。 我该如何完成?     

解决方法

        只需将
turtle.done()
turtle.Screen().exitonclick()
作为乌龟程序的最后一个命令即可。     ,        
import turtle

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

turtle.getscreen()._root.mainloop()  # <-- run the Tkinter main loop
(编辑:下面的hua建议的
turtle.done()
不太丑。)     ,        只需使用从turtle \模块本身导入的mainloop()函数即可。
import turtle


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


#calling for the mainloop()
turtle.mainloop()
    ,        尝试在代码末尾添加ѭ7。     ,        这将等待几次单击-并在您单击时绘制一个螺旋-直到它决定在最后一次单击时退出:
import turtle


win = turtle.Screen()
win.bgcolor(\"white\")

tess = turtle.Turtle()

tess.speed(0)
tess.color(\"blue\")             
tess.pensize(5)                 
offSet=30

def doNextEvent(x,y):

    global offSet
    global win
    tess.forward(20)
    tess.left(1+offSet)
    offSet=offSet-2
    if(offSet<1):
        win.exitonclick()


win.onclick(doNextEvent)
win.listen()
win.mainloop()