Tkinter 格式化Treeview栏位内容

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()

输出:

Tkinter 格式化Treeview栏位内容

示例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()

输出:

Tkinter 格式化Treeview栏位内容

下面是Python Shell窗口的执行结果。

Tkinter 格式化Treeview栏位内容

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程