【发布时间】:2016-08-18 00:25:15
【问题描述】:
我正在使用 Python 3.5 编写一个包含海龟图形的简单程序 我有一个问题:乌龟工作完成后,用户必须手动关闭窗口。
有没有办法在海龟工作完成后对窗口进行编程?
【问题讨论】:
标签: python python-3.x turtle-graphics
我正在使用 Python 3.5 编写一个包含海龟图形的简单程序 我有一个问题:乌龟工作完成后,用户必须手动关闭窗口。
有没有办法在海龟工作完成后对窗口进行编程?
【问题讨论】:
标签: python python-3.x turtle-graphics
turtle.bye(),又名turtle.Screen().bye(),关闭海龟图形窗口。
通常,缺少turtle.mainloop() 或其变体之一会导致窗口关闭,因为程序将退出并关闭所有内容。 turtle.mainloop() 应该是海龟图形程序中执行的最后一条语句,除非该脚本是从 Python IDLE -n 中运行的,它禁用了 turtle.mainloop() 和变体。
turtle.Screen().mainloop() 和 turtle.done() 是 turtle.mainloop() 的变体。
turtle.exitonclick() aka turtle.Screen().exitonclick() 绑定屏幕点击事件做一个turtle.bye() 然后调用turtle.mainloop()
【讨论】:
在文件末尾添加tkinter.mainloop()。
例子
import turtle
import tkinter as TK
t = turtle.Pen()
for x in range(100):
t.forward(x)
t.left(90)
TK.mainloop()
【讨论】:
mainloop() 保持窗口打开,它不会关闭它。离开文件末尾的mainloop() 将允许窗口关闭。
在文件末尾尝试exitonclick() 或done() 关闭窗口。
【讨论】:
turtle.done() 不关闭窗口,它是turtle.mainloop() 的同义词,它将控制权转移到 tkinter 事件循环,该循环保持窗口打开,直到某些用户操作关闭它!