为什么使用turtle模块后ActivePython会冻结?
我安装了ActivePython 3.1,并按照文档要求用-n
参数运行了IDLE。不过,当我尝试使用像turtle.position()
这样的调用时,新的窗口打开了(带有Tk图标),但是窗口却卡住了,什么也不显示。这可能是什么问题呢?
2 个回答
0
部分问题解决了,因为我没有在IDLE里运行它,而是把它当作一个Python脚本来执行,然后等待输入,看看画出了什么。
2
程序卡住的直接原因是Tk的事件循环没有被处理。没有这个循环,Tk窗口就无法正确显示或更新(所有的图形用户界面工具包都是基于事件的,但Tk特别依赖这个)。不幸的是,我对Python的Tk绑定和IDLE了解得不够深,无法准确说出造成这个问题的原因。