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 图形窗口仅短暂打开然后关闭的主要内容,如果未能解决你的问题,请参考以下文章

Turtle graphics - 如何控制窗口何时关闭?

Python turtle库的应用——蛇

如何使用python中的turtle画一个苹果?

用python,turtle绘制数字,如绘制260这三个数字,同时要求每个数字填不同的颜色

求教python中的turtle

python第二周基本图形绘制