如何在tkinter中获取当前小部件大小?
我正在使用 Python 和 Tkinter,我想知道一个控件当前的尺寸(宽度和高度)。
我试过用 somewidget["width"]
,但是它只返回一个固定的值,当控件的大小发生变化时(比如窗口被调整大小时),这个值并不会更新。
3 个回答
16
你可以使用函数 somewidget.winfo_reqheight()
来获取高度,使用 somewidget.winfo_reqwidth()
来获取宽度。不过,记得先调用你想要知道尺寸的那个控件的更新函数 somewidget.update()
。如果不调用这个更新函数,你得到的值会是默认的 1
。
93
somewidget.winfo_width()
和 somewidget.winfo_height()
这两个方法会返回1。你需要先更新一下Tk(使用 tk.update()
),然后再获取这些值。
81
使用 somewidget.winfo_width()
和 somewidget.winfo_height()
可以获取实际的控件大小,而 somewidget['width']
这个属性只是给布局管理器的一个提示。