我有一个有三列的Tkinter Toplevel窗口。所有三列都配置为具有相同的权重。内部列0
和2
是子框架,其中包含Listbox
个窗口小部件。内部列1
是一组按钮。出于某种原因,尽管我的3列具有相同的权重,但这些列表框“迫使”它们的列占用更多空间。
我写过,
window.columnconfigure(0,weight=1) window.columnconfigure(1,weight=1) window.columnconfigure(2,weight=1)
但我明白了:
我还给出了1
列3和5的权重,但它仍然很小。但是,完成此操作后,似乎列0
和2
具有一些最小尺寸,然后在从真实宽度中减去之后,使用剩余宽度并除以重量。
这是一个错误吗?我需要对我的名单做些什么吗?我可能会忘记一些事情吗?
答案 0 :(得分:5)
这不是一个错误。 weight
确定如何分配额外空间。它没有对行或列的大小做出任何保证。
如果您希望列具有统一的宽度,请使用uniform
选项并使它们都成为同一个统一组的一部分。
window.columnconfigure(0,weight=1, uniform='third')
window.columnconfigure(1,weight=1, uniform='third')
window.columnconfigure(2,weight=1, uniform='third')
注意:'third'
没有什么特别之处 - 它可以是任何字符串,只要它对于所有三列都是相同的字符串。