本文实现效果如下:

因为tkinter没有现成的listview可用, 常用ttk库的Treeview实现,可以把listview看着是简化版的treeview。
代码演示:
1 2 3 4 5 6 7 8 9 10 | from tkinter import *from tkinter.ttk import *root=Tk()tv=Treeview(root,columns=('c1','c2'),show='headings')listdata=[('columns','列id列表'),('displaycolumns','显示列'),('height','高度(单位为行)'),('padding','填充'),('selectmode','选中控制'),('show','树/列显示')]for a,b in listdata : tv.insert('',END,values=(a,b)) print(a,b)tv.pack(fill=BOTH)mainloop() |
tkinter.ttk库是从Tk8.5引入,可以实现本地窗口风格,并良好地运行在绝大多数平台中。
Treeview常用于展示带层级的数据,每一个数据项(data item)可以有一个文本、图片和多列数据值(colum values)。数据列的显示排序可以通过diaplaycolumns来设定,treeview还可以显示数据列的头部。
每个数据项(item)有一个唯一的名字(name)和ID,如果创建item时未指定ID会自动生成。特别地,有一个名字为{}的根项(root item)做为所有项的根,根项不显示在treeview中。每个item可以设置一个标签列表用于绑定事件和控制item的显示。
Treeview支持横向和竖向的滚动条,可通过xscrollcommand、yscrollcom.mand和Treeview.xview()、Treeview.yview()设置和控制。
随时随地看视频