2

我有一个 QListWidget 包含有图标的项目,当项目被选中时,图标只是突出显示。有没有办法防止这种情况?我不能使用样式表,因为它用于嵌入式应用程序并且包含它们会占用太多空间。谢谢

4

2 回答 2

2

我想当您说“Highlithed out”时,您的意思是选择该行时图标颜色无法很好地呈现,因此您无法正确看到图标...

也许您可以考虑在选择项目时使用不同的图标。可以通过为您的图标指定模式来做到这一点。

例子 :

QIcon MyIcon(":/images/foo");
MyIcon.addFile(":/images/bar", QSize(...), QIcon::Selected);

您可以轻松地在 QtDesigner 中进行尝试并查看结果...

希望它有点帮助!

于 2010-01-27T06:54:19.890 回答
0

当然,在黑白屏幕上绘图会带来挑战。

听起来您只想更改界面的外观,而不是任何功能。如果是这种情况,那么 -QItemDelegate派生类(或QStyledItemDelegate)几乎肯定是您想要的。特别是这个drawDecoration函数看起来像是用来绘制图标的,样式选项应该包括它是否被选中。最简单的解决方法是覆盖该函数,将选项中的选定标志设置为 false,然后将其传递给父函数。

于 2010-01-28T19:19:38.557 回答