ttk treeview:交替行颜色

新手上路,请多包涵

如何为 treeview 小部件设置样式,以便交替行具有不同的背景颜色,例如,第 1、3、5 行具有白色背景,第 2、4、6 行具有浅蓝灰色背景?

我还想设置 gridlines

原文由 foosion 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

几个月前我遇到了同样的问题。

来自 tk 文档

 You can assign a list of tags to each item using the "tags"
item configuration option (again, when creating the item or later on).

Tag configuration options can then be specified, which will then
apply to all items having that tag.

基本上,您将一个标记应用于所有奇数行,将不同的标记应用于每个偶数行,然后配置标记。


在树视图中创建项目时,向它们添加标签:

 tree.insert('', 'end', text = 'your text', tags = ('oddrow',))

此代码在 tree 中创建一个元素,并且 tags 参数将标签“oddrow”分配给该元素。

使用“oddrow”和“evenrow”标签创建所有元素后,您可以为标签着色:

 tree.tag_configure('oddrow', background='orange')
tree.tag_configure('evenrow', background='purple')

原文由 Matt Fenwick 发布,翻译遵循 CC BY-SA 3.0 许可协议

我意识到这是一个老问题,但只是为了记录在创建树之后配置标签(即当尚未向其中添加任何项目时)也有效。随着项目稍后被插入,它们将被赋予适合其“oddrow”或“evenrow”标签的背景颜色。

原文由 Colin McPhail 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题