我有一个QListWidget,其中包含有图标的项目,当选择项目时,图标会突出显示。有办法防止这种情况吗?我不能使用样式表,因为它适用于嵌入式应用程序,包括它们占用太多空间。 感谢
答案 0 :(得分:1)
我想当你说“Highlithed out”时,你的意思是当选择这条线时图标颜色不能很好地渲染,因此,你无法正确看到图标......
也许您可以考虑在选择项目时使用其他图标。可以通过为您的图标指定模式来实现。
示例:
QIcon MyIcon(":/images/foo");
MyIcon.addFile(":/images/bar", QSize(...), QIcon::Selected);
您可以在QtDesigner中轻松尝试并查看结果......
希望它有所帮助!
答案 1 :(得分:0)
当然,在黑白屏幕上画画会带来挑战。
听起来你只想改变界面的外观,而不是任何功能。如果是这种情况,QItemDelegate
派生的类(或QStyledItemDelegate
)几乎可以肯定你想要的。特别是,drawDecoration
函数看起来像用于绘制图标,样式选项应该包括它是否被选中。最简单的解决方法是覆盖该函数,将选项中的选定标志设置为false,然后将其传递给父函数。