【问题标题】:Python Turtle Crashes When Opening Second WindowPython Turtle 在打开第二个窗口时崩溃
【发布时间】:2019-02-11 00:15:48
【问题描述】:

我有一个小程序,我想弹出一个 Python 乌龟窗口,显示一些东西,在用户点击时关闭,然后弹出下一个窗口。一个示例程序是

import turtle

window = turtle.Screen()
t1 = turtle.Turtle()
t1.forward(100)
window.exitonclick()

window2 = turtle.Screen()
t2 = turtle.Turtle()
t2.forward(100)
window2.exitonclick()

程序在尝试打开第二个窗口时崩溃。这适用于 Mac OS X 机器上的 Python3.6。我在两次重新运行程序时看到了一些关于崩溃的参考,并看到了有关在第一个窗口关闭后添加 bye() 调用的建议,但我还没有设法解决这个问题。

有什么建议吗?

【问题讨论】:

    标签: python python-3.x turtle-graphics


    【解决方案1】:

    您似乎应该使用与exitonclick 不同的功能退出屏幕或清除它。但是我能够通过运行 turtle.bye() 并在出现错误时围绕它执行 try/except 来使您的代码正常工作。
    这绝对不是一个优雅的解决方案,而是让第二个窗口正确显示的解决方法。

    import turtle
    
    window = turtle.Screen()
    t1 = turtle.Turtle()
    t1.forward(100)
    window.exitonclick()
    
    try:
        turtle.bye()
    except Exception:
        pass
    
    window2 = turtle.Screen()
    t2 = turtle.Turtle()
    t2.forward(100)
    window2.exitonclick()
    

    【讨论】:

      猜你喜欢
      • 2018-06-14
      • 1970-01-01
      • 1970-01-01
      • 2012-12-21
      • 2018-12-06
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多