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