Python Turtle - 禁用窗口调整大小

时间:2018-02-05 18:46:21

标签: python turtle-graphics

有没有办法在Turtle模块中禁用窗口大小调整? E.G - 禁用最大化和最小化按钮并禁用将窗口拖出或移入的功能。谢谢!

2 个答案:

答案 0 :(得分:2)

还有另一种方法,它有点“ hacky”,但对于已经使用TurtleScreen而不是RawTurtle编写的项目来说效果很好。它实际上是单线的:

screen = turtle.Screen()
# ...
screen.cv._rootwindow.resizable(False, False)

这将访问turtle创建的可滚动画布对象的根窗口,并在其上调用resizable方法。不过,这没有记录-可能会产生意外的行为。

作为一般说明:每当您想在tkinter程序中使用turtle的功能而找不到turtle的方法时,只需选中turtle's sources,弄清楚turtle如何抽象出tkinter对象(在这种情况下像canvas)并直接在该对象上使用适当的方法。可能并非一直都有效-但大多数情况下,您将能够实现所需的功能。

答案 1 :(得分:0)

Python turtle建立在tkinter之上。当您运行乌龟模块 standalone 时,它将创建一个tkinter窗口,使用可滚动的画布对其进行分层,然后包装在一个屏幕对象中,该对象为使用乌龟提供了很多便利。但是您可以改为运行 embedded 的turtle模块,即,构建所需的任何tkinter窗口并在其中运行turtle。

这是一个非常简单的示例,其中的窗口带有不可调整大小的海龟绘图:

from tkinter import *
from turtle import RawTurtle

root = Tk()
root.resizable(False, False)

canvas = Canvas(root)
canvas.pack()

turtle = RawTurtle(canvas)

turtle.circle(10)

root.mainloop()