【问题标题】:Python Turtle Graphics Window only Opens Briefly then ClosesPython Turtle 图形窗口仅短暂打开然后关闭
【发布时间】:2013-10-01 19:57:27
【问题描述】:

我最近开始在 Python 中使用 turtle 模块,我承认,我是一个完全的新手。我一直无法让海龟在其中进行绘图的图形窗口保持打开状态。即使我尝试运行像这样简单的东西:

import turtle
wn = turtle.Screen()
tur = turtle.Turtle()
tur.forward(50)

我得到的只是 Python 启动器图标,它会在我的 Dock 上出现片刻然后关闭。感谢您提供任何帮助,顺便说一下,我正在 Aptana Studio 3 中执行此操作。

【问题讨论】:

    标签: python graphics module turtle-graphics


    【解决方案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() 作为最后一个语句将使窗口保持打开状态。

            【讨论】:

              猜你喜欢
              • 2021-07-09
              • 2023-01-12
              • 2021-06-13
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-06-09
              • 1970-01-01
              相关资源
              最近更新 更多