首页 技术 正文
技术 2022年11月16日
0 收藏 369 点赞 4,374 浏览 4120 个字

例子1

from tkinter import *
import tkinter.ttk as ttk

win = Tk()
win.title(“Treeview 学习”)

col = [1,2,3,4]
data = {“item0”:[“1a”,”2a”,”3a”,”4a”], “item1”:{“num0”:[“1n”, “2n”, “3n”,” 4n”],”num1″:[“1m”,”2m”,”3m”,”4m”]}, “item2”:[“1c”,”2c”,”3c”,”4c”]}

tree = ttk.Treeview(win, columns = col, height = 10, show = “tree”)
#show = “tree”, 第一列也会被显示出来
#也可用show = “headings” 把第一列隐藏起来
#height 的单位是字符,本例里可以显示10行

tree.column(‘0′,width=150,anchor=’center’) #指定第一列的宽度和名称, 如果show = “headings”, 这一列就被隐藏。
tree.column(‘1′,width=100,anchor=’center’)
tree.column(‘2′,width=100,anchor=’w’)
tree.column(‘3′,width=100,anchor=’center’)
tree.column(‘4′,width=100,anchor=’center’)
tree.heading(‘0′,text=’column0’)
tree.heading(‘1′,text=’column1’)
tree.heading(‘2′,text=’column2’)
tree.heading(‘3′,text=’column3’)
tree.heading(‘4′,text=’column4’)

tree.insert(”,’end’,values= data[“item0”])
tree.insert(”,’end’,values= data[“item2”])

tree.pack()

win.mainloop()
代码运行结果:

例子2, subtrree

from tkinter import *
import tkinter.ttk as ttk

win = Tk()
win.title(“Treeview 学习”)

col = [1,2,3,4]
data = {“item0”:[“1a”,”2a”,”3a”,”4a”], “item1”:{“num0”:[“1n”, “2n”, “3n”,” 4n”],”num1″:[“1m”,”2m”,”3m”,”4m”]}, “item2”:[“1c”,”2c”,”3c”,”4c”]}

tree = ttk.Treeview(win, columns = col, height = 10, show = “tree”)
#show = “tree”, 第一列也会被显示出来
#也可用show = “headings” 把第一列隐藏起来
#height 的单位是字符,本例里可以显示10行

tree.column(‘0′,width=www.hjylp178.com 150,anchor=’center’) #指定第一列的宽度和名称, 如果show = “headings”, 这一列就被隐藏。
tree.column(‘1′,width=www.dfgjyl.cn 100,anchor=’center’)
tree.column(‘2′,width=www.yongxinzaixian.cn100,anchor=’w’)
tree.column(‘3′,width=100,anchor=’center’)
tree.column(‘4′,width=100,anchor=’center’)
tree.heading(‘0’www.gangchengyuLe178.com ,text=’column0’)
tree.heading(‘1’,text=www.ysyl157.com ‘column1’)
tree.heading(‘2’,text=www.mcyllpt.com ‘column2’)
tree.heading(‘3’,text=www.meiwanyule.cn ‘column3’)
tree.heading(‘4′,text=’column4’)

#用递归法遍历带子字典或列表的数据
def process_dict(d, tree, tr):
for k,v in d.items():
if type(v) == list:
if type(v[0]) == dict:
trr www.yigouyule2.cn = tree.insert(tr, ‘end’, text=k, open=True)
for ls in v:
process_dict(ls, tree, trr)
else:
tree.insert(tr, ‘end’, text=k, values= v)
elif type(v) == dict:
trr = tree.insert(tr, ‘end’, text=k, open = True)
process_dict(v, tree, trr)
process_dict(data,tree, “”)

tree.pack()

win.mainloop()
代码运行结果:

例子3, 添加滚动条

from tkinter import *
import tkinter.ttk as ttk

win = Tk()
win.geometry(“100×100”)
win.title(“Treeview 学习”)

col = [1,2,3,4]
data = {“item0”:[“1a”,”2a”,”3a”,”4a”], \
“item1”:{“num0”:[“1n”, “2n”, “3n”,” 4n”],”num1″:[“1m”,”2m”,”3m”,”4m”]},
“item2”:[“1c”,”2c”,”3c”,”4c”], \
“item3”: [“1a”, “2a”, “3a”, “4a”], \
“item4”: {“num40”: [“1n”, “2n”, “3n”, ” 4n”], “num41”: [“1m”, “2m”, “3m”, “4m”]},
“item6”: [“1c”, “2c”, “3c”, “4c”],\
“item7”:[“1a”,”2a”,”3a”,”4a”], \
“item8”:{“num80”:[“1n”, “2n”, “3n”,” 4n”],”num81″:[“1m”,”2m”,”3m”,”4m”]},
“item9”:[“1c”,”2c”,”3c”,”4c”],\
“item10”:[“1a”,”2a”,”3a”,”4a”], \
“item11”:{“num110”:[“1n”, “2n”, “3n”,” 4n”],”num111″:[“1m”,”2m”,”3m”,”4m”]},
“item12”:[“1c”,”2c”,”3c”,”4c”]
}

tree = ttk.Treeview(win, columns = col, height = 10, show = “tree”)
#show = “tree”, 第一列也会被显示出来
#也可用show = “headings” 把第一列隐藏起来
#height 的单位是字符,本例里可以显示10行

tree.column(‘0′,width=150,anchor=’center’) #指定第一列的宽度和名称, 如果show = “headings”, 这一列就被隐藏。
tree.column(‘1′,width=100,anchor=’center’)
tree.column(‘2′,width=100,anchor=’w’)
tree.column(‘3′,width=100,anchor=’center’)
tree.column(‘4′,width=100,anchor=’center’)
tree.heading(‘0′,text=’column0’)
tree.heading(‘1′,text=’column1’)
tree.heading(‘2′,text=’column2’)
tree.heading(‘3′,text=’column3’)
tree.heading(‘4′,text=’column4’)

#用递归法遍历带子字典或列表的数据
def process_dict(d, tree, tr):
for k,v in d.items():
if type(v) == list:
if type(v[0]) == dict:
trr = tree.insert(tr, ‘end’, text=k, open=True)
for ls in v:
process_dict(ls, tree, trr)
else:
tree.insert(tr, ‘end’, text=k, values= v)
elif type(v) == dict:
trr = tree.insert(tr, ‘end’, text=k, open = True)
process_dict(v, tree, trr)
process_dict(data,tree, “”)

#y滚动条
yscrollbar = Scrollbar(win, orient=VERTICAL, command=tree.yview)
tree.configure(yscrollcommand = yscrollbar.set)
yscrollbar.pack(side = RIGHT, fill = Y)
#x滚动条
xscroll = Scrollbar(win, orient=HORIZONTAL, command=tree.xview)
tree.configure(xscrollcommand = xscroll.set)
xscroll.pack(side = BOTTOM, fill = X)

tree.pack(side = TOP, expand = 1, fill = BOTH)

win.mainloop()
代码运行结果:
———————
作者:weixin_41501380
来源:CSDN
原文:https://blog.csdn.net/weixin_41501380/article/details/83933484
版权声明:本文为博主原创文章,转载请附上博文链接!

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,077
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,552
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,401
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,813
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,896