【发布时间】:2017-01-06 23:58:58
【问题描述】:
我有一个使用 QTableView 和 QListView 的 Qt 应用程序。在这两个小部件中,我都显示了一些图标。
问题在于,当用户选择其中一个条目时,Qt alpha 会将选择混合在图标上,从而使图标看起来对比度较低且颜色略有不同。
我希望 Qt 先绘制选择,然后在顶部绘制图标,这样无论它们是否被选中,它们看起来都一样。我该怎么做?
更新:
这就是我的问题的样子:
使用白色矩形图标更容易发现:
当您使用图形编辑器检查颜色值时,您会看到颜色值发生了变化。我希望 Qt 在没有此覆盖的情况下按原样绘制图标。
这里的 QListView 采用颜色渐变背景进行样式设置。但是我对没有样式的 QTableView 也有同样的问题。
顺便说一下,所有图标都是 SVG。
【问题讨论】:
-
我也有这个问题。您可以在 Qt Designer 中看到它,而无需任何样式表或自定义样式或任何东西 - 加载到 QIcon 的 Selected 状态的图标会得到修改的颜色。我尝试了修改后的列委托并交换了图标状态,只有 Selected 状态受到影响!
标签: c++ qt qtableview qlistview