开发者

Qt: How to show icon when item selected

开发者 https://www.devze.com 2022-12-18 00:47 出处:网络
I have a QListWidget containing items which have icons开发者_运维知识库 and when the items are selected the icon is just highlighted out. Is there a way to prevent this? I can\'t use stylesheets becau

I have a QListWidget containing items which have icons开发者_运维知识库 and when the items are selected the icon is just highlighted out. Is there a way to prevent this? I can't use stylesheets because it's for an embedded application and including them takes up too much space. thanks


I suppose when you say "Highlithed out", you mean that the icon colors don't render well when the line is selected, and therefore, you can't see properly the icon...

Maybe you could consider using a different icon when the item is selected. It's possible to do so by specifing a mode to your icon.

Example :

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

You can easily make a try in QtDesigner and see the results...

Hope it helps a bit !


Certainly, drawing on a black-and-white screen presents its challenges.

It sounds like you just want to change the appearance of the interface, not any functionality. If this is the case, a QItemDelegate-derived class (or QStyledItemDelegate) is almost certainly what you want. In particular, the drawDecoration function looks like it is used to draw an icon, and the style options should include whether it is selected. The simplest fix would be to override that function, set the selected flag in the options to false, then pass it up to the parent's function.

0

精彩评论

暂无评论...
验证码 换一张
取 消