【发布时间】:2011-03-07 04:02:32
【问题描述】:
我有一个包含 pygtk.treeview 的对话框,用于按优先级列出任务。每行都有基于该优先级设置的背景颜色,例如,最高优先级的背景为浅红色。
行选择颜色不是那么容易改变的。我可以使用treeview.modify_base(gtk.STATE_SELECTED, "#C4C4C4") 进行设置,但没有一种颜色与用于增强优先级概念的颜色搭配得很好。
我的想法是将选择颜色更改为用作普通行背景颜色的稍暗版本,因此在上面的示例中,这将是更深的红色。我尝试调用上面的函数来响应treeselection 的changed 信号,它可以工作,但是闪烁很严重。
另一个想法是将选择更改为透明并在其周围放置一个边框,但据我所知,这是不可能的。
- 如何以上述方式更改选择颜色而不出现闪烁?
- 我可以通过只在行周围设置边框来更改显示选择吗?
注意:我知道这违反了用户选择的主题。我觉得我有一个很好的理由。用颜色表示优先级可以立即识别。选择颜色隐藏了这一点。如果您有其他建议,我愿意接受,但需要保持用户能够轻松识别优先级。
【问题讨论】:
-
+1 仅在有充分理由时才尝试覆盖用户的主题。
标签: python user-interface gtk pygtk gtktreeview