Tkinter 建立层级式的Treeview

Tkinter 建立层级式的Treeview

层级式(Hierarchy)的相关知识在前几节已经介绍过,现在读者只要在图标栏先建立top-level的项目id,然后将相关子项目放在所属的top-level项目id即可。

示例1

建立层级式的Treeview控件内容。

from tkinter import *
from tkinter.ttk import *

root = Tk()
root.title("apidemos.com")

asia = {"China": "Beijing", "Japan": "Tokyo", "Thailand": "Bangkok", "South Korea": "Seoul"}
euro = {"UK": "London", "France": "Paris", "Germany": "Berlin", "Norway": "Oslo"}

# 建立Treeview
tree = Treeview(root,columns=("capital"))
# 建立栏标题
tree.heading("#0",text="Country") # 图标栏
tree.heading("capital",text="Capital")
# 建立id
idAsia = tree.insert("",index=END,text="Asia")
idEuro = tree.insert("",index=END,text="Europe")
# 建立idAsia底下内容
for country in asia.keys():
    tree.insert(idAsia,index=END,text=country,values=asia[country])
# 建立idEuro底下内容
for country in euro.keys():
    tree.insert(idEuro,index=END,text=country,values=euro[country])
tree.pack()

root.mainloop()

输出:

Tkinter 建立层级式的Treeview

在上述程序第8、9行是建立亚洲asia和欧洲euro国家与首都的字典数据。第17、18行则是建立图标栏top-level的id,分别是idAsia和idEuro。建立层级式数据最关键的是使用insert( )方法时,必须在第一个参数放置top-level的id,第20、21行是建立亚洲国家国名与首都数据,所以第21行的insert( )方法的第一个参数是idAsia,这表示插入的数据放在idAsia层级下,程序代码设计如下。

tree.insert(idAsia,...)

第23、24行是建立欧洲国家国名与首都数据,所以第24行的insert( )方法的第一个参数是idEuro,这表示插入的数据放在idEuro层次下,程序代码设计如下。

tree.insert(idEuro,...)

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程