我想用Tkinter模塊和python構建一個小軟件,但我無法弄清楚如何使用百分比而不是像素來設置小部件大小。我當然可以通過每時每刻都抓住整個窗口的大小來做到這一點,然後除以2得到50%的大小,但是有沒有更好的方法來用Tkinter模塊來做到這一點?Tkinter的百分比大小?
編輯1:要回答你的問題,我把我的代碼在這裏:
class Navbar:
def __init__(self, master):
self.maxsizeFrame = Frame(master, height = 50) #maxsize handler, prevent self.frame to grow too big
self.maxsizeFrame.pack(fill = X, expand = NO)
self.frame = Frame(self.maxsizeFrame)
self.frame.pack(side = TOP, fill = BOTH, expand = YES)
self.masteries = Button(self.frame, text = "Masteries")
self.masteries.pack(side = LEFT, fill = BOTH, expand = YES)
self.runes = Button(self.frame, text = "Runes")
self.runes.pack(side = RIGHT, fill = BOTH, expand = YES)
所以我想創建一個在「self.frame」處理的兩個按鈕,一個導航欄。但是我希望這個設計能夠響應,這就是爲什麼我將展開設置爲「YES」。然而,我想爲「self.frame」設置最大尺寸,但我發現的唯一方法是將此框架放在另一個框架中(「self.maxsizeFrame」),並將此框架擴展爲「NO」。最後,我想將最大擴展大小設置爲主窗口的一半,所以如果「self.maxsizeframe」的高度可以百分比,那麼它可能會很好。謝謝閱讀。
編輯2: 實際上,使用網格佈局構建軟件似乎更有效,並且權重的選項是準確的。
有辦法,但我們需要更多細節。使用百分比大小是不尋常的。你想爲每個小部件做,還是隻有一個小部件?你想使用哪個小部件或小部件?你可以創建一個簡單的[mcve]嗎? –