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