Tkinter 格式化Treeview栏位内容
Treeview控件的column( )方法主要用于格式化特定栏位的内容,它的语法格式如下。
column(id, options)
其中,id是指出特定栏位,可以用字符串表达,或是用“#index”索引方式。下列是options的可能参数。
(1)anchor
:可以设置栏内容参考位置。
(2)minwidth
:最小栏宽,默认是20像素。
(3)stretch
:默认是1,当控件大小改变时栏宽将随着改变。
(4)width
:默认栏宽是200像素。
如果使用此方法不含参数,如下所示。
ret = column(id)
将以字典方式传回特定栏所有参数的内容。
示例1
将第1、2栏宽度改为150,同时居中对齐,图标栏则不改变。
from tkinter import *
from tkinter.ttk import *
root = Tk()
root.title("apidemos.com")
# 建立Treeview
tree = Treeview(root,columns=("cities","populations"))
# 建立栏标题
tree.heading("#0",text="State") # 图标栏
tree.heading("#1",text="City")
tree.heading("#2",text="Populations")
# 格式化栏位
tree.column("#1",anchor=CENTER,width=150)
tree.column("#2",anchor=CENTER,width=150)
# 建立内容
tree.insert("",index=END,text="Eleanor",values=("Chicago","800"))
tree.insert("",index=END,text="California",values=("LosAngeles","1000"))
tree.insert("",index=END,text="Tokyo",values=("Houston","900"))
tree.pack()
root.mainloop()
输出:
示例2
以字典方式列出cities栏位的所有内容,这个程序只增加下列两行。
from tkinter import *
from tkinter.ttk import *
root = Tk()
root.title("apidemos.com")
# 建立Treeview
tree = Treeview(root,columns=("cities","populations"))
# 建立栏标题
tree.heading("#0",text="State") # 图标栏
tree.heading("#1",text="City")
tree.heading("#2",text="Populations")
# 格式化栏位
tree.column("#1",anchor=CENTER,width=150)
tree.column("#2",anchor=CENTER,width=150)
# 建立内容
tree.insert("",index=END,text="Eleanor",values=("Chicago","800"))
tree.insert("",index=END,text="California",values=("LosAngeles","1000"))
tree.insert("",index=END,text="Tokyo",values=("Houston","900"))
tree.pack()
cityDict = tree.column("cities") # 以字典方式列出cities栏位的所有内容
print(cityDict)
root.mainloop()
输出:
下面是Python Shell窗口的执行结果。