我正在使用Python和Tkinter,我需要知道小部件的當前尺寸(寬度,高度)。如何找到當前在tkinter中的小部件大小?
我試過somewidget["width"]
,但它只返回一個固定值,並且在小部件大小發生變化時(例如窗口大小調整時)不更新。
我正在使用Python和Tkinter,我需要知道小部件的當前尺寸(寬度,高度)。如何找到當前在tkinter中的小部件大小?
我試過somewidget["width"]
,但它只返回一個固定值,並且在小部件大小發生變化時(例如窗口大小調整時)不更新。
使用somewidget.winfo_width()
和somewidget.winfo_height()
來獲取實際的窗口小部件大小,somewidget['width']
屬性只是提供給幾何管理器的提示。
我認爲你的意思是「幾何管理器」,而不是「窗口管理器」。謝謝! – 2010-10-16 21:02:05
按照[這個答案](https://stackoverflow.com/questions/28040943/in-tkinter-why-winfo-height-always-return-1)*實際*意味着在'mainloop()'調用之後。這反過來又意味着如果你想調試widget的尺寸,你必須在事件循環(callbacks)的某處放置'print'語句,或者把它放在一些像標籤這樣的widget上。這是合乎邏輯的,如果你考慮一下,但我認爲舊的程序習慣可以不管。 – 2018-02-08 12:52:57
somewidget.winfo_width()
和somewidget.winfo_height()
給出1.您需要在獲取這些值之前更新Tk(問題tk.update()
)。
你確定你的小部件正在調整大小嗎? – 2010-10-16 20:47:07
是的,我可以看到它調整大小。 – 2010-10-16 20:50:50