我有一个对话框,其中包含一个pygtk.treeview用于按优先级列出任务。每一行的背景颜色都是根据其优先级设置的,因此例如最高优先级具有浅红色背景。
行选择颜色不太容易更改。我可以使用treeview.modify_base(gtk.STATE_SELECTED, "#C4C4C4")
进行设置,但没有颜色与用于增强优先级概念的颜色配合得很好。
我想到了将选择颜色更改为略微较深版本的用作普通行背景的颜色,因此在上面的示例中,这将是较深的红色。我尝试在treeselection的changed
信号响应中调用上述函数,它确实有效,但会严重闪烁。
另一个想法是将选择更改为透明并在其周围放置边框,但据我所知,这是不可能的。
- 如何以上述方式更改选择颜色而不会闪烁?
- 我能否通过仅在行周围放置边框来显示选择内容?
注意:我知道这违反了用户选择的主题。我认为我有充分的理由。通过颜色指示优先级使其立即可识别。选择颜色隐藏了这一点。如果您有其他建议,我愿意听取,但需要保留用户可以识别优先级的简易性。