2

我有一个使用 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)

设置列的宽度,但这适用于所有列。有没有办法在每列的基础上做到这一点?更好的是,有没有办法让列宽适合列的内容?任何帮助表示赞赏。

4

2 回答 2

4

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

# set width of column 0 to 3, column 1 to 10
self.testTable.width(0,3,1,10)
于 2015-04-01T11:57:55.807 回答
1

正确答案是:

columnwidth={'0':7,'1':12,'2':20,'3':35,'4':15,'5':15,'6':22}
self.table.width(**columnwidth)
于 2017-12-13T03:47:18.943 回答