【问题标题】:Qt: How to show icon when item selectedQt:选择项目时如何显示图标
【发布时间】:2010-01-29 03:19:38
【问题描述】:

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

【问题讨论】:

    标签: c++ qt icons highlight


    【解决方案1】:

    我想当您说“ HighLithed Out”时,您的意思是选择线条时的图标颜色并不能很好地呈现,因此,您看不正确地看到图标...

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

    例子:

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

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

    希望对你有所帮助!

    【讨论】:

    • 谢谢,但我忘了提到我使用的是黑白屏幕,所以如果图标被突出显示,整个事情就是黑色的。我需要一种方法来防止图标被突出显示。
    • 是的,但这是相同的过程,通过按照我建议的方式指定您的图标,您只需为所有线路状态(未选中、选中等)指定相同的图标......不适合你的需要吗?
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-21
      • 2011-06-29
      • 2019-05-28
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-29
      相关资源
      最近更新 更多