获取Tkinter窗口大小

25

如何获取Tkinter窗口的宽度和高度?

3个回答

35

你可以使用小部件的winfo_width方法来获取实际宽度。你可以使用winfo_reqwidth来获取小部件请求的大小,这可能不同。

请注意,如果在窗口出现在屏幕上之前调用此方法,你将无法得到预期的答案。Tkinter需要实际绘制窗口后才能知道其大小。如果你尝试在程序启动之前获取窗口大小,一个简单的修复方法是在尝试获取大小之前调用窗口的update方法。


谢谢您明确指出需要在窗口出现后调用函数的事实。另一个人发了完全相同的内容,但没有给出细节,对我没有帮助。这个有用。 - Armster

1
要创建一个精确的窗口大小,你可以简单地执行以下操作:window.geometry("400x400"),这只是一个例子,但你必须确保它像一个字符串,否则它就无法工作,我有过这样的经验。

这并没有回答问题。 - Thingamabobs

-1
虽然skiibloc的回答在技术上是正确的,但有一种更好的方法来做事情-
width, height = get_window_size(root) #assuming your canvas or window manager is root.

这个程序动态地询问tk程序窗口的尺寸是多少。

2
get_window_size的定义在哪里? - Thingamabobs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接