python - 使用 Turtle 后如何关闭窗口
问题描述
我正在尝试在 Spyder 和 Jupyter 中使用 Turtle,但是当我尝试关闭窗口时遇到了麻烦。
我在 Windows 10 上的 Spyder 3.3.1 和 Jupyter 5.6.0 上使用 Python 3.7
这是我尝试过的
import turtle as trtl
trtl.forward(100)
trtl.left(90)
trtl.forward(100)
trtl.left(90)
trtl.forward(100)
trtl.left(90)
trtl.forward(100)
trtl.exitonclick()
我工作正常,但如果我关闭窗口并尝试再次运行相同的代码,我会收到以下错误:
---------------------------------------------------------------------------
Terminator Traceback (most recent call last)
<ipython-input-9-ad2d84897daf> in <module>()
1 import turtle as trtl
2
----> 3 trtl.forward(100)
4 trtl.left(90)
5 trtl.forward(100)
~\Anaconda3\lib\turtle.py in forward(distance)
Terminator:
我尝试了多种组合done()
,bye()
但exitonclick()
我无法使其工作
解决方案
以下是海龟文档的摘录:
如果配置字典中的“using_IDLE”值为False(默认值),也进入mainloop。备注:如果使用带 -n 开关的 IDLE(无子进程),则该值应在 turtle.cfg 中设置为 True。在这种情况下,IDLE 自己的主循环也对客户端脚本处于活动状态。
因此,您可以添加using_IDLE = True
到turtle.cfg
文件来解决此问题。这将防止exitonclick()
进入主循环。