这次是要求treeview的每一行对应一个多选按钮,
功能:1.勾选按钮,tree对应的行就会改变颜色
2.点击tree的行,按钮也相应的被打勾
3.全选按钮会根据 下面多选按钮的情况,改变状态!
代码要点:1.操作滚动条时,对应移动的是tree+按钮,所以得用canvas,还得设定<MouseWheel>!!
2.因为是tree整体滚动,所得还得另外设定一个头(label) PS:如果能把tree的heading去掉就更好了!
3.格式问题===得设定tree每一行的高度,跟button相同;
设定tree的字体,还有背景颜色
设定canvas的高度随tree高度而改变
4.按钮跟tree的行对应,匹配,设定回调函数
5.tree的每一项被选中时,就改变其颜色
from tkinter import *
from tkinter.ttk import *
class My_Tk():
def __init__(self):
self.tk=Tk()
self.tk.geometry('620x400')
self.orm={}
self.create_button()
self.create_heading()
self.create_tv()
mainloop()
def create_button(self):
Button(self.tk,text='增加数据',command=self.insert_tv).pack()
def create_heading(self,):
'''重新做一个treeview的头,不然滚动滚动条,看不到原先的头!!!'''
heading_frame=Frame(self.tk)
heading_frame.pack(fill=X)
#填充用
button_frame=Label(heading_frame,width=0.5)
button_frame.pack(side=LEFT,)
#全选按钮
self.all_buttonvar = IntVar()
self.all_button = Checkbutton(heading_frame, text='',variable=self.all_button