python tkinter treeview分级显示sqlite3数据库内容
python tkinter treeview 分级显示sqlite3
python tkinter treeview分级显示sqlite3,
先看数据在库中的样子:
本数据id自增,其它数据用户录入。现要将数据其显示在treeview中。如图:
以此为例进行说明:
一、首先遍历出数据中队名添加到集合中:
#读取数据
conn=sqlite3.connect(‘volleyball.db’)
cur=conn.cursor()
cur.execute(‘SELECT * FROM jishu ORDER BY id ASC’)
#ASC,id列升序排列
temp=cur.fetchall()#temp下面还要用请记下。
conn.close()
定义一个集合变量可去重队伍名称:
dm={‘’}#球队名称集合
for item in enumerate(temp):#enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
因为这样遍历出的数据是二维数据所以用两个下标找出球队名称,然后添加到duin 集合中。
duim=(item[1][1])
dm.add(duim)#队伍名称,集合类型
二、将集合转化为列表类型:
dmm=list(dm)#转化为列表类型,可支持下标。
三、插入队伍名称到treeview中并返回队伍名称的id号
for x in range(0,len(dmm)):
treeview.insert(“”,x,text=dmm[x])#插入数据并建立id号。
treeview_id=treeview.get_children(‘’)#遍历出id号.
这样就队伍列表“dmm”中的球队名称与id列表“treeview"中的id号就可一 一对应了。(下标一样)
四、插入数据:
for item in enumerate(temp):#enumerate() 函数用于将一个可遍历的数据对象/#(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
duim=(item[1][1])#返回队伍名称:
for j in range(0,len(dmm)):
if duim==dmm[j]:#队名和以前队名相同,可进行插入数据
treeview.insert(treeview_id[j],0,text=str(duim),values=(item[1][1:]))#插入数据
else:
continue
更多推荐
所有评论(0)