2010-01-27 4 views
2

У меня есть QListWidget, содержащий элементы, в которых есть значки, и когда элементы выбраны, значок просто подсвечивается. Есть ли способ предотвратить это? Я не могу использовать таблицы стилей, потому что это для встроенного приложения, и в том числе они занимают слишком много места. благодаряQt: Как показать значок при выбранном элементе

ответ

0

Конечно, на черно-белом экране возникают проблемы.

Похоже, вы просто хотите изменить внешний вид интерфейса, а не какую-либо функциональность. Если это так, класс QItemDelegate -derived (или QStyledItemDelegate) почти наверняка то, что вы хотите. В частности, функция drawDecoration выглядит так, как будто она используется для рисования значка, а параметры стиля должны включать в себя ли он выбран. Простейшим решением было бы переопределить эту функцию, установить выбранный флаг в параметрах в значение false, а затем передать его функции родителя.

1

Я полагаю, когда вы говорите «Highlithed из», вы имеете в виду, что значок цвет не делает хорошо, когда выбрана линия, и, следовательно, вы не можете видеть, правильно значок ...

Возможно, вы захотите использовать другой значок, когда элемент выбран. Это можно сделать, указав режим на ваш значок.

Пример:

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

Вы можете легко сделать попытку в QtDesigner и увидеть результаты ...

Надеется, что это помогает немного!

+0

спасибо, но я забыл упомянуть, что я использовал черно-белый экран, поэтому, если значок выделен, то вся вещь просто черная. Мне нужно, чтобы значок не выделялся. – Ayeayeron

+0

Да, но это тот же процесс, указав свой значок так, как я предлагал, вы просто указали один и тот же значок для всего состояния линии (не выбрано, выбрано и т. Д.) ... Не соответствует ли это вашим потребностям? –

Смежные вопросы