自定义树视图

通过 Treeview:Basic 示例 ,可以显示如何自定义基本树视图。

在这种情况下,我们使用以下代码创建一个样式“mystyle.Treeview”(请参阅​​注释以了解每行的作用):

style = ttk.Style()
style.configure("mystyle.Treeview", highlightthickness=0, bd=0, font=('Calibri', 11)) # Modify the font of the body
style.configure("mystyle.Treeview.Heading", font=('Calibri', 13,'bold')) # Modify the font of the headings
style.layout("mystyle.Treeview", [('mystyle.Treeview.treearea', {'sticky': 'nswe'})]) # Remove the borders

然后,创建窗口小部件,给出以上样式:

tree=ttk.Treeview(master,style="mystyle.Treeview")

如果你想根据行使用不同的格式,可以使用 tags

tree.insert(folder1, "end", "", text="photo1.png", values=("23-Jun-17 11:28","PNG file","2.6 KB"),tags = ('odd',))
tree.insert(folder1, "end", "", text="photo2.png", values=("23-Jun-17 11:29","PNG file","3.2 KB"),tags = ('even',))
tree.insert(folder1, "end", "", text="photo3.png", values=("23-Jun-17 11:30","PNG file","3.1 KB"),tags = ('odd',))

然后,例如,背景颜色可以与标签相关联:

tree.tag_configure('odd', background='#E8E8E8')
tree.tag_configure('even', background='#DFDFDF')

结果是树形视图在主体和标题上都有修改过的字体,没有边框和行的不同颜色:

StackOverflow 文档

注意:要生成上面的图片,你应该在示例 Treeview:Basic 示例中添加/更改上述代码行。