昆明做网站多少钱,谷歌排名算法,公司资料模板,外发加工网1688立即学习:https://edu.csdn.net/course/play/19711/343120?utm_sourceblogtoedu
1.树状结构Treeview:分为树状折叠式列表和列表显示#xff0c;是一种很重要数据列表展示的形式 2.树状列表建立步骤#xff1a;
1#xff09;创建一个树状列表#xff1a;在这里可以设置显示…立即学习:https://edu.csdn.net/course/play/19711/343120?utm_sourceblogtoedu
1.树状结构Treeview:分为树状折叠式列表和列表显示是一种很重要数据列表展示的形式 2.树状列表建立步骤
1创建一个树状列表在这里可以设置显示的窗体和列的名称 self.treeview tkinter.ttk.Treeview(self.root,#树状结构需要显示的窗体columns (mid,name),#设置树状列表中列的名称将所有列名称用一个元组表示)2设置列表中的列的标题
self.treeview.heading(column mid,text 编号)
3设置列表中列的布局
self.treeview.column(mid,width 100,anchor w)
4向列表中插入父级数据 self.level_a self.treeview.insert(parent ,#指定父级数据index end,#设置添加的位置这里设置的是在当前数据的后面进行添加text 第一个父级数据,#设置一条数据的标题可以理解为是行标题values (父级1列1,父级1列2) #为每一条数据中对应的列设置相应的值用元组表示)5在父级数据下插入子级数据 self.level_a1 self.treeview.insert(parent self.level_a,#指定父级数据index end,#设置添加的位置这里设置的是在当前数据的后面进行添加text 第一条子级数据,#设置一条数据的标题可以理解为是行标题values (父1子1列1,父1子1列2) #为每一条数据中对应的列设置相应的值用元组表示)6树状结构列表的显示
self.treeview.pack(anchor w,fill x)#树状列表的显示并且使其在x轴方向进行填充 3.其他的用法
1树状结构列表事件的绑定
self.treeview.bind(Double-Button-1,self.treeview_handle)
2事件的定义包含如何获得列表数据 def treeview_handle(self,event):for index in self.treeview.selection():#获得选中项的索引返回一个列表或者元组因此相应for循环取出values self.treeview.item(index,values)#根据索引获得索引项的数据数据是以一个元组的形式返回包含一条信息info 编号%s、职位%s%valuestkinter.messagebox.showinfo(title 您选中的列表信息,#设置弹出窗口的标题message info#设置在弹出窗体需要弹出的信息)4.完整代码
1树状折叠列表
import tkinter#导入创建窗体的相关模块
import os
import tkinter.ttkimage_path rC:\Users\jinlin\Desktop\python_further_study\GUI编程\resources os.sep linlianqin.gif#因为每个平台的分隔符不一样所以用os.sep可以自动切换到相应平台的分隔符class Mainwindow():#创建窗口类def __init__(self):self.root tkinter.Tk()#创建主体窗口self.root.title(linlianqin)#定义窗体的名字self.root.geometry(500x600)#定义窗体的初始大小self.root.maxsize(1200,1200)#设置窗口可以显示的最大尺寸self.tree()#树结构显示self.root.mainloop()#显示窗口这个代码一定要放在所有窗口设置的后面#-----------------创建树状列表-----------------------def tree(self):# -----------------创建树状列表-----------------------self.treeview tkinter.ttk.Treeview(self.root,#树状结构需要显示的窗体columns (mid,name),#设置树状列表中列的名称将所有列名称用一个元组表示)# ----------------为列表中指定名称的列设置列的标题----------------self.treeview.heading(column mid,text 编号)self.treeview.heading(column name,text 职位)# ---------------------为列表中指定名称的列进行布局设置------------------self.treeview.column(mid,width 100,anchor w)self.treeview.column(name,width 100,anchor w)#为列表中指定名称的列进行布局设置#-----------------------为列表插入数据.一行表示一条插入的数据---------------------self.level_a self.treeview.insert(parent ,#指定父级数据index end,#设置添加的位置这里设置的是在当前数据的后面进行添加text 第一个父级数据,#设置一条数据的标题可以理解为是行标题values (父级1列1,父级1列2) #为每一条数据中对应的列设置相应的值用元组表示)self.level_b self.treeview.insert(parent ,#指定父级数据index end,#设置添加的位置这里设置的是在当前数据的后面进行添加text 第二个父级数据,#设置一条数据的标题可以理解为是行标题values (父级2列1,父级2列2) #为每一条数据中对应的列设置相应的值用元组表示)self.level_c self.treeview.insert(parent ,#指定父级数据index end,#设置添加的位置这里设置的是在当前数据的后面进行添加text 第三个父级数据,#设置一条数据的标题可以理解为是行标题values (父级3列1,父级3列2) #为每一条数据中对应的列设置相应的值用元组表示)#----------------为父级数据添加子类数据----------------------self.level_a1 self.treeview.insert(parent self.level_a,#指定父级数据index end,#设置添加的位置这里设置的是在当前数据的后面进行添加text 第一条子级数据,#设置一条数据的标题可以理解为是行标题values (父1子1列1,父1子1列2) #为每一条数据中对应的列设置相应的值用元组表示)self.level_a11 self.treeview.insert(parent self.level_a1,#指定父级数据index end,#设置添加的位置这里设置的是在当前数据的后面进行添加text 第一条孙级数据,#设置一条数据的标题可以理解为是行标题values (父1子1孙1列1,父1子1孙1列2) #为每一条数据中对应的列设置相应的值用元组表示)self.level_a11 self.treeview.insert(parent self.level_a1,#指定父级数据index end,#设置添加的位置这里设置的是在当前数据的后面进行添加text 第二条孙级数据,#设置一条数据的标题可以理解为是行标题values (父1子1孙2列1,父1子1孙2列2) #为每一条数据中对应的列设置相应的值用元组表示)self.level_a2 self.treeview.insert(parent self.level_a,#指定父级数据index end,#设置添加的位置这里设置的是在当前数据的后面进行添加text 第二条子级数据,#设置一条数据的标题可以理解为是行标题values (父1子2列1,父1子2列2) #为每一条数据中对应的列设置相应的值用元组表示)self.level_b1 self.treeview.insert(parent self.level_b,#指定父级数据index end,#设置添加的位置这里设置的是在当前数据的后面进行添加text 第一条子级数据,#设置一条数据的标题可以理解为是行标题values (父2子1列1,父2子2列2) #为每一条数据中对应的列设置相应的值用元组表示)self.treeview.pack(anchor w,fill x)#树状列表的显示并且使其在x轴方向进行填充if __name__ __main__:Mainwindow()#将窗体类实例化 2树状非折叠列表
import tkinter#导入创建窗体的相关模块
import os
import tkinter.ttk
import tkinter.messageboximage_path rC:\Users\jinlin\Desktop\python_further_study\GUI编程\resources os.sep linlianqin.gif#因为每个平台的分隔符不一样所以用os.sep可以自动切换到相应平台的分隔符class Mainwindow():#创建窗口类def __init__(self):self.root tkinter.Tk()#创建主体窗口self.root.title(linlianqin)#定义窗体的名字self.root.geometry(500x600)#定义窗体的初始大小self.root.maxsize(1200,1200)#设置窗口可以显示的最大尺寸self.tree()#树结构显示self.root.mainloop()#显示窗口这个代码一定要放在所有窗口设置的后面#-----------------创建树状列表-----------------------def tree(self):# -----------------创建树状列表-----------------------self.treeview tkinter.ttk.Treeview(self.root,#树状结构需要显示的窗体columns (mid,name),#设置树状列表中列的名称将所有列名称用一个元组表示show headings#将有标题的列顶格显示即不会显示行标题)# ----------------为列表中指定名称的列设置列的标题----------------self.treeview.heading(column mid,text 编号)self.treeview.heading(column name,text 职位)# ---------------------为列表中指定名称的列进行布局设置------------------self.treeview.column(mid,width 100,anchor w)self.treeview.column(name,width 100,anchor w)#为列表中指定名称的列进行布局设置#-----------------------为列表插入数据.一行表示一条插入的数据---------------------self.level_a self.treeview.insert(parent ,#指定父级数据index end,#设置添加的位置这里设置的是在当前数据的后面进行添加# text 第一个父级数据,#设置一条数据的标题可以理解为是行标题values (父级1列1,父级1列2) #为每一条数据中对应的列设置相应的值用元组表示)self.level_b self.treeview.insert(parent ,#指定父级数据index end,#设置添加的位置这里设置的是在当前数据的后面进行添加# text 第二个父级数据,#设置一条数据的标题可以理解为是行标题values (父级2列1,父级2列2) #为每一条数据中对应的列设置相应的值用元组表示)self.level_c self.treeview.insert(parent ,#指定父级数据index end,#设置添加的位置这里设置的是在当前数据的后面进行添加text 第三个父级数据,#设置一条数据的标题可以理解为是行标题values (父级3列1,父级3列2) #为每一条数据中对应的列设置相应的值用元组表示)#---------------------为树状列表绑定事件-----------------------------------self.treeview.bind(Double-Button-1,self.treeview_handle)self.treeview.pack(anchor w,fill x)#树状列表的显示并且使其在x轴方向进行填充#---------------------定义树状列表相应处理的事件-------------------------def treeview_handle(self,event):for index in self.treeview.selection():#获得选中项的索引返回一个列表或者元组因此相应for循环取出values self.treeview.item(index,values)#根据索引获得索引项的数据数据是以一个元组的形式返回包含一条信息info 编号%s、职位%s%valuestkinter.messagebox.showinfo(title 您选中的列表信息,#设置弹出窗口的标题message info#设置在弹出窗体需要弹出的信息)if __name__ __main__:Mainwindow()#将窗体类实例化