如何为tktable的每列设置不同的列宽?

时间:2015-03-31 16:20:25

标签: python-2.7 tkinter tktable

我有一个使用Python 2.7和tktable v1.1创建的表,如下所示:

class GUI (Tkinter.Tk):
    self.testTable = tktable.Table(self, rows = 30, cols = 30, state='disabled',titlecols=1,titlerows=1, \
                                   selectmode='extended', variable=self.tktableArray, selecttype='row', colstretchmode='unset', \
                                   maxwidth=500, maxheight=190, xscrollcommand = self.HScroll.set, yscrollcommand = self.VScroll.set) # Create the results table
    self.testTable.grid(column= 2, row = 6, columnspan = 4) # Add results table to the grid

不相关的代码被遗漏了,以免抛出一堆代码。我的愿望是为每列独立调整列宽。例如,在第0列中,我只有3位数字,在第1列中,我有10个字符的单词。我知道我可以使用

self.testTable.configure(colwidth=10)

设置列的宽度,但这适用于所有列。有没有办法按列进行此操作?更好的是,有没有办法使列宽适合列的内容?任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:4)

我从未使用tktable,但快速阅读tktable文档显示表对象上有width()方法。你试过了吗?

# set width of column 0 to 3, column 1 to 10
self.testTable.width(0,3,1,10)

答案 1 :(得分:0)

正确的答案是:

columnwidth={'0':7,'1':12,'2':20,'3':35,'4':15,'5':15,'6':22}
self.table.width(**columnwidth)