2015-03-31 31 views
0

我有使用Python 2.7和1.1版tktable看起來像下面這樣的表進行:如何爲tktable的每列設置不同的列寬?

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

我從來沒有使用tktable,但快速閱讀tktable文檔顯示錶格對象上有一個width()方法。你嘗試過嗎?

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

太謝謝你了。我正在使用 self.testTable ['width'] 攻擊這個整個時間,並且無法調整工作。我已閱讀 self.testTable.width 的文檔,但顯然不夠徹底。我對該命令的第一次嘗試導致了錯誤,因爲我將參數格式化爲((0,3),(1,10))而不是數字的平面列表。我現在覺得很愚蠢。再一次感謝你! – thewill2live 2015-04-01 15:19:03

0

正確的答案是:

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