【发布时间】:2017-05-29 19:48:41
【问题描述】:
我有一些代码如下:
# My code here
turtle.bye()
在那之后,有什么办法可以重新打开乌龟窗口。
我知道你可以这样做 turtle.clearscreen() 但这不会关闭海龟窗口。
我将接受任何允许我关闭海龟图形窗口然后重新打开它的答案,而无需打开并运行另一个 python 程序来执行此操作。
提前谢谢你
【问题讨论】:
我有一些代码如下:
# My code here
turtle.bye()
在那之后,有什么办法可以重新打开乌龟窗口。
我知道你可以这样做 turtle.clearscreen() 但这不会关闭海龟窗口。
我将接受任何允许我关闭海龟图形窗口然后重新打开它的答案,而无需打开并运行另一个 python 程序来执行此操作。
提前谢谢你
【问题讨论】:
我见过@LukeTimmons 的方法有效但并不总是可靠且并非在所有情况下都有效的情况。试试这个解决方案:
import time
import turtle
turtle.dot(200, 'green')
time.sleep(2)
turtle.bye()
# These two lines (indirectly) resurrect turtle environment after turtle.bye()
turtle.Turtle._screen = None # force recreation of singleton Screen object
turtle.TurtleScreen._RUNNING = True # only set upon TurtleScreen() definition
turtle.dot(200, 'red')
turtle.mainloop()
它重置了两个阻止海龟重新启动的标志。重新启动后创建自己的海龟可能比使用可能指向已离开环境的默认海龟更安全。
【讨论】:
可能还有其他方法,但这是我知道的唯一方法。
from turtle import *
def turtle1():
#Your code here
turtle1()
turtle.bye()
turtle1()
这应该会重新运行您的代码而无需重新输入。
【讨论】:
import *,turtle.bye() 应该只是 bye()。