打开第二个窗口时,Python Turtle崩溃

时间:2018-09-05 19:22:33

标签: python-3.x turtle-graphics

我有一个小程序,我想在其中弹出Python乌龟窗口,显示内容,在用户单击时关闭,然后弹出下一个窗口。一个示例程序是

import turtle

window = turtle.Screen()
t1 = turtle.Turtle()
t1.forward(100)
window.exitonclick()

window2 = turtle.Screen()
t2 = turtle.Turtle()
t2.forward(100)
window2.exitonclick()

尝试打开第二个窗口时,程序崩溃。这是Mac OS X计算机上的Python3.6。我已经看到了一些有关在两次重新运行程序时崩溃的参考,并且看到了在第一个窗口关闭后添加bye()调用的建议,但是我还没有解决这个问题。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

似乎您应该使用与exitonclick不同的功能退出屏幕或清除它。但是我可以通过运行turtle.bye()并在发生错误的情况下对其进行尝试/例外来使您的代码正常工作。
绝对不是一个很好的解决方案,而是一种解决方法,可以使第二个窗口正确显示。

import turtle

window = turtle.Screen()
t1 = turtle.Turtle()
t1.forward(100)
window.exitonclick()

try:
    turtle.bye()
except Exception:
    pass

window2 = turtle.Screen()
t2 = turtle.Turtle()
t2.forward(100)
window2.exitonclick()