Python Turtle 图形窗口仅短暂打开然后关闭
Posted
技术标签:
【中文标题】Python Turtle 图形窗口仅短暂打开然后关闭【英文标题】:Python Turtle Graphics Window only Opens Briefly then Closes 【发布时间】:2013-10-01 19:57:27 【问题描述】:我最近开始在 Python 中使用 turtle 模块,我承认,我是一个完全的新手。我一直无法让海龟在其中进行绘图的图形窗口保持打开状态。即使我尝试运行像这样简单的东西:
import turtle
wn = turtle.Screen()
tur = turtle.Turtle()
tur.forward(50)
我得到的只是 Python 启动器图标,它会在我的 Dock 上出现片刻然后关闭。感谢您提供任何帮助,顺便说一下,我正在 Aptana Studio 3 中执行此操作。
【问题讨论】:
【参考方案1】:你也可以试试
turtle.mainloop()
在我看来,这比使用 Tk 稍微好一点。
【讨论】:
它们实际上是完全相同的函数(turtle 只是从 Tkinter 重新导出它),但你是对的,这将节省不必要的导入,因此可能是更好的方法。 @Jas0n 这取决于 - 如果您只是运行一组固定的绘图命令并想查看结果,那么是的,您可以将它放在程序的末尾。【参考方案2】:添加:
import Tkinter
Tkinter.mainloop()
到你的脚本的末尾,这样就可以解决它。
发生的情况是,一旦您创建了一个屏幕并绘制到它上面,没有什么可以阻止 Python 立即退出。对 Tkinter.mainloop 的调用会同步处理来自 Tkinter(构建 Python 的海龟库的 GUI 工具包)中的事件,直到屏幕窗口关闭。
【讨论】:
【参考方案3】:或者你可以尝试添加:
wn.exitonclick()
这将使图形窗口保持打开状态,直到您单击它。
【讨论】:
【参考方案4】:当我输入以下代码时:
import turtle as t
t.fd(100)
包含海龟图形的窗口刚刚出现并关闭。但是当我输入以下代码时:
import turtle as t
t.fd(100)
t.mainloop()
窗口不会像以前那样自动消失。
因此 t.mainloop()
或 turtle.mainloop()
取决于您导入库的方式,可用于使窗口保持打开状态,只要您愿意。
希望这对您有所帮助!
【讨论】:
【参考方案5】:我也有同样的问题。我可以非常短暂地看到 Turtle 窗口,只是短暂的闪光,然后它就消失了。为了补救,我只在代码末尾写了input()
。这将防止 Turtle 窗口关闭,因此人们可以看到发生了什么。
turtle.mainloop()
也为我工作。
【讨论】:
【参考方案6】:在你的海龟图形程序中添加turtle.done()
作为最后一个语句将使窗口保持打开状态。
【讨论】:
以上是关于Python Turtle 图形窗口仅短暂打开然后关闭的主要内容,如果未能解决你的问题,请参考以下文章