代码之家  ›  专栏  ›  技术社区  ›  Ayeayeron

qt:选择项目时如何显示图标

  •  2
  • Ayeayeron  · 技术社区  · 15 年前

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

    2 回复  |  直到 15 年前
        1
  •  0
  •   Caleb Huitt - cjhuitt    15 年前

    当然,在黑白屏幕上画画是一种挑战。

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

        2
  •  1
  •   Andy M    15 年前

    我想当你说“高光”的时候,你的意思是当线条被选中时,图标的颜色不能很好地呈现,因此,你不能正确地看到图标…

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

    例子:

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

    您可以轻松地在qtdesigner中进行尝试,并查看结果…

    希望能有所帮助!