2012-01-23 63 views
0

这里是一个真正的新手问题。图形窗口在IDLE中崩溃

我在OSX 10.7.2上使用IDLE 2.7.2并阅读Zelle的Python:Programming。自从80年代以来我没有编程,所以在通过命令行的东西后,我很高兴能够深入到Objects。我抓住他的graphics.py文件并将其复制到文档中(这看起来像是IDLE的默认位置)并启动IDLE。

然后,他提出了几个命令入壳:

从图形导入*

赢= GraphWin()#which没有问题

然后他接着有打开一个图形窗口你在窗口中绘制一些线条和形状。这些图形在窗口中显示得很好。

这是我的问题。如果我尝试将鼠标悬停在图形窗口上,我会看到Mac风车。移动窗户并没有帮助。所以窗口看起来像是崩溃了(尽管IDLE运行良好),但奇怪的是,如果我继续向IDLE输入命令,那么这些形状通常会在窗口中正常绘制。

我做错了什么?这是正常的吗?谢谢,

亨利

回答

0

空闲运行您在另一个进程进入蟒蛇的命令,所以它的合理预期这种“锁定”的行为是程序控制窗口和空闲之间的不同。

可能发生了什么,虽然是一切都很好,但是您还没有在您输入的程序中启动事件循环。操作系统注意到,当您的程序没有清空其事件队列时将鼠标悬停在其上(这会创建大量事件),并且它(通过风车)可以帮助您通知您程序似乎很忙。

在教程后面你可能会达到一个点,你开始事件循环,风车将会神奇地消失。

+0

非常感谢这个答案。似乎是正确的。一个小小的更新。我编写了一个测试程序,它只是打开一个图形窗口,并等待用户输入来关闭窗口。尚未介绍正确使用事件循环。因此,我使用IDLE运行程序,并获取风车动作,直到用户输入后窗口关闭。然后我在BB编辑器中打开程序文件,并在终端窗口中运行模块,而不是风车。所以这似乎与IDLE相关。我想我会在终端上运行我的程序,但我仍然需要使用交互式IDLE外壳来探索东西。再次感谢。 – user1164996