2013-05-04 21 views
2

我已經爲Tkinter創建了一個用於我的應用程序的GUI。我也使用了一個treeview小部件。但是我無法改變它的列寬和權重。如何正確地做到這一點?如何在Python中更改ttk.Treeview列寬和重量3.3

樣品:

tree = Treeview(frames[-1],selectmode="extended",columns=("A","B")) 
tree.heading("#0", text="C/C++ compiler") 
tree.column("#0",minwidth=0,width=100) 

tree.heading("A", text="A") 
tree.column("A",minwidth=0,width=200) 

tree.heading("B", text="B") 
tree.column("B",minwidth=0,width=300) 

據我瞭解應該創建三列,寬度:100,200和300 但是沒有這種事。

+0

然後會發生什麼?此代碼適用於我。 – kalgasnik 2013-05-04 19:03:58

+0

每列都有相同的寬度。 – Misery 2013-05-04 19:09:33

+0

你可以發佈最小的工作示例(不是一段代碼)嗎? – kalgasnik 2013-05-04 19:17:01

回答

8

Treeview.Column沒有weight選項,但可以將stretch選項設置爲False以防止列大小調整。

from tkinter import * 
from tkinter.ttk import * 

root = Tk() 
tree = Treeview(root,selectmode="extended",columns=("A","B")) 
tree.pack(expand=YES, fill=BOTH) 
tree.heading("#0", text="C/C++ compiler") 
tree.column("#0",minwidth=0,width=100, stretch=NO) 
tree.heading("A", text="A") 
tree.column("A",minwidth=0,width=200, stretch=NO) 
tree.heading("B", text="B") 
tree.column("B",minwidth=0,width=300) 
root.mainloop()