我最近开始在 Python 中使用 turtle 模块,我承认,我是一个完全的新手。我一直无法让海龟在其中进行绘图的图形窗口保持打开状态。即使我尝试运行像这样简单的东西:
import turtle
wn = turtle.Screen()
tur = turtle.Turtle()
tur.forward(50)
我得到的只是 Python 启动器图标,它会在我的扩展坞上出现一瞬间然后关闭。感谢您提供任何帮助,顺便说一句,我正在 Aptana Studio 3 中执行此操作。
我最近开始在 Python 中使用 turtle 模块,我承认,我是一个完全的新手。我一直无法让海龟在其中进行绘图的图形窗口保持打开状态。即使我尝试运行像这样简单的东西:
import turtle
wn = turtle.Screen()
tur = turtle.Turtle()
tur.forward(50)
我得到的只是 Python 启动器图标,它会在我的扩展坞上出现一瞬间然后关闭。感谢您提供任何帮助,顺便说一句,我正在 Aptana Studio 3 中执行此操作。
另外,您可能想尝试
turtle.mainloop()
在我看来,这比使用 Tk 稍微好一点。
添加:
import Tkinter
Tkinter.mainloop()
到你的脚本的末尾,这将解决它。
发生的事情是,一旦你创建了一个屏幕并绘制到它上面,没有什么可以阻止 Python 立即退出。对 Tkinter.mainloop 的调用同步处理来自 Tkinter(构建 Python 的海龟库的 GUI 工具包)的事件,直到屏幕窗口关闭。
当我输入以下代码时:
import turtle as t
t.fd(100)
包含海龟图形的窗口刚刚出现并关闭。但是当我输入以下代码时:
import turtle as t
t.fd(100)
t.mainloop()
窗口不会像以前那样自动消失。
因此t.mainloop()
或turtle.mainloop()
取决于您导入库的方式,可用于使窗口保持打开状态,只要您愿意。
希望这有帮助!
或者您可以尝试添加:
wn.exitonclick()
这将使图形窗口保持打开状态,直到您单击它。
在您的海龟图形程序中添加turtle.done()
作为最后一条语句将使窗口保持打开状态。
我也有同样的问题。我可以非常短暂地看到 Turtle 窗口,只是短暂的闪光,然后它就消失了。为了补救,我只写input()
在我的代码末尾。这将防止 Turtle 窗口关闭,因此人们可以看到发生了什么。
也turtle.mainloop()
为我工作。