繁体   English   中英

Python:如何重置海龟图形窗口

[英]Python: How to reset the turtle graphics window

我正在制作一个使用乌龟牌的二十一点游戏,每次我玩一只手乌龟时,只打印最后一场比赛而不是清除窗口。 是否有一种方法可以在调用时关闭窗口,或者还有另一个为什么要这样做?

我想澄清各种海龟函数的作用,因为在此讨论中存在误解,包括在当前接受的答案中,因为方法名称本身可能会造成混淆:


turtle.mainloop()又名turtle.Screen().mainloop()将控制权交给turtle.Screen().mainloop()的事件循环。 通常,缺少turtle.Screen().mainloop() (或turtle.Screen().exitonclick()等)会导致窗口关闭,因为程序将结束,关闭所有内容。 除非该脚本是从 Python IDLE -n 中运行的,否则该语句或其变体之一应该是海龟图形程序中的最后一条语句。

turtle.done() (不关闭窗口也不重置任何东西。) turtle.mainloop()同义词

turtle.clear()删除这个海龟绘制的所有东西(不仅仅是最后一个东西)。 否则不会影响乌龟的状态。

turtle.reset()一个turtle.clear() ,然后重置这个turtle 的状态(即方向、位置等)

turtle.clearscreen() aka turtle.Screen().clear()删除所有绘图和所有海龟,将窗口turtle.Screen().clear()原始状态。

turtle.resetscreen()又名turtle.Screen().reset()将屏幕上的所有海龟重置为它们的初始状态。

turtle.bye() aka turtle.Screen().bye()关闭海龟图形窗口。 在调用此命令后,我看不到使用任何海龟图形命令的方法。

turtle.exitonclick() aka turtle.Screen().exitonclick()绑定屏幕点击事件后做一个turtle.Screen().bye()调用turtle.Screen().mainloop()


不清楚您是否可以从乌龟内部关闭并重新打开图形窗口,而无需下降到支持乌龟的 tkinter 级别(和 Zelle 的 graphics.py)

为了在您的二十一点游戏中开始新手,我猜turtle.reset()turtle.resetscreen()是您最好的选择。

使用乌龟,它是turtle.done()

如果你使用python graphics我推荐John Zelle的图形库 要关闭窗口,请使用window.close() 如果您有兴趣,我已经链接了graphics库的文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM