2010-01-27 12 views
2

J'ai un QListWidget contenant des éléments qui ont des icônes et lorsque les éléments sont sélectionnés, l'icône est juste en surbrillance. Est-ce qu'il y a un moyen d'éviter cela? Je ne peux pas utiliser les feuilles de style parce que c'est pour une application embarquée et les inclure prend trop de place. grâceQt: Comment afficher l'icône lorsque l'élément sélectionné

Répondre

0

Certes, dessiner sur un écran noir et blanc présente ses défis.

Il semble que vous vouliez simplement changer l'apparence de l'interface, pas de fonctionnalité. Si c'est le cas, une classe dérivée de QItemDelegate (ou QStyledItemDelegate) est presque certainement ce que vous voulez. En particulier, la fonction drawDecoration semble être utilisée pour dessiner une icône et les options de style doivent indiquer si elle est sélectionnée. La solution la plus simple consiste à remplacer cette fonction, à définir l'indicateur sélectionné dans les options sur false, puis à passer à la fonction parent.

1

Je suppose que quand vous dites « Highlithed out », vous voulez dire que les couleurs des icônes ne rendent pas bien quand la ligne est sélectionnée, et par conséquent, vous ne pouvez pas voir correctement l'icône ...

Peut-être que vous pourriez envisager d'utiliser une icône différente lorsque l'élément est sélectionné. Il est possible de le faire en spécifiant un mode à votre icône.

Exemple:

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

Vous pouvez facilement faire un essai dans QtDesigner et voir les résultats ...

Je espère que ça aide un peu!

+0

merci mais j'ai oublié de mentionner que j'utilisais un écran noir et blanc, donc si l'icône est mise en surbrillance tout le tout est juste noir. J'ai besoin d'un moyen d'éviter que l'icône soit mise en évidence. – Ayeayeron

+0

Ouais, mais c'est le même processus, en spécifiant votre icône comme je l'ai proposé, il vous suffit de spécifier la même icône pour tout le statut de ligne (non sélectionné, sélectionné, etc ...) ... Cela ne correspond pas à vos besoins? –