3
我想要延伸到使用Python 2.6.7和Tkinter一起工作。我期望下面的代碼將第一個按鈕拉伸到第二個按鈕的寬度,但是這兩個按鈕的寬度只有它們需要適合的文本寬度。在Python中使用網格佈局來拉伸框架Tkinter
#!/usr/bin/python
from Tkinter import *
win = Frame()
win.grid(sticky=N+S+E+W)
inner_a = Frame(win)
inner_a.grid(row=0, column=0, sticky=N+E+W)
inner_b = Frame(win)
inner_b.grid(row=1, column=0, sticky=S+E+W)
Button(inner_a, text='1').grid(row=0, column=0, sticky=E+W)
Button(inner_b, text='Some long text').grid(row=0, column=0, sticky=E+W)
win.mainloop()
按照我的理解,在win
單個列將擴大到它包含的最大的東西寬度,即inner_b
的寬度,再inner_a
寬度,第一個按鈕的那裏,將是第二個按鈕的。
其實,下面會發生什麼;第一個按鈕只有寬度足以包含「1」,不如第二個按鈕寬。
什麼我需要做的就是第一個按鈕,展開第二的大小?
爲小部件提供相同的直接父項不是一種選擇;這是真正問題的最小例子,將相關小部件作爲直接孩子確實不是一種選擇。儘管如此,修復重量(對於列'0',而不是在你的答案中的'1'),但是,謝謝! – 2012-03-16 16:44:14
@me_and:您是否知道您可以將小部件放在與父項不同的容器中?這是一個非常有價值的技術。網格有一個'in_'選項,打包和放置命令來做到這一點。 – 2012-03-17 01:38:39
感謝您的回答:D – holmeswatson 2014-04-27 17:10:11