2017-08-02 24 views
0

我有一个三列Tkinter Toplevel窗口。所有三个色谱柱都配置为具有相同的重量。栏内02是子框架,其内部是Listbox小部件。内部列1是一组按钮。出于某种原因,尽管我的3列具有相同的权重,但这些列表框强制其列以占用更多空间。Tkinter - 等重量的列不等宽

我已经写了,

 
window.columnconfigure(0,weight=1) 
window.columnconfigure(1,weight=1) 
window.columnconfigure(2,weight=1) 

,但我得到:

Unequal Sizes

我也给列3到5 1的权重,但它仍然很小。但是,这样做后,似乎02有一些最小尺寸,然后减去从实际宽度,使用剩余宽度和除以权重。

这是一个错误?有什么我需要做我的名单?我可能会忘记一些事情吗?

回答

1

这不是一个错误。 weight决定如何分配额外的空间。它不保证行或列的大小。

如果要让列具有统一的宽度,请使用uniform选项,并使它们全部成为同一个统一组的一部分。

window.columnconfigure(0,weight=1, uniform='third') 
window.columnconfigure(1,weight=1, uniform='third') 
window.columnconfigure(2,weight=1, uniform='third') 

注:没有什么特别之处'third' - 它可以是任何字符串,只要它是所有三列相同的字符串。

+0

甜!很棒的作品;没有意识到!希望我能在http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/grid-config.html等地方找到这些细节。 – Codesmith