Как сохранить отрисовку стиля item в QStyledItemDelegate::paint |
Здравствуйте, гость ( Вход | Регистрация )
Как сохранить отрисовку стиля item в QStyledItemDelegate::paint |
r485_post |
15.11.2010, 23:20
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 10 Регистрация: 31.7.2009 Пользователь №: 970 Спасибо сказали: 0 раз(а) Репутация: 0 |
Допустим в переопределении функции QStyledItemDelegate::paint имеется следующий код:
QStyleOptionViewItemV4 позволяет нам по сравнению со своими предшественниками (QStyleOptionViewItem, QStyleOptionViewItemV1, QStyleOptionViewItemV2, QStyleOptionViewItemV3) задать иконку, текст и ещё кое-что стандартным способом без ручной отсисовки. Иконку, текст и всё, что там ещё можно мы изменим, но стиль итема, который я задал вот так ListView->setStyleSheet ( "QListView:item { backgrond: red; }"); исчезнет. Будет стиль, заданный по умолчанию + наши иконка, текст и т.д. Я для примера привел простой backgrond. Простой backgrond можно задать и через кисть, но у меня в программе сложный градиент + бордер + другой градиент для состояния selected. Вообщем мне нужно сохранить стиль, так как воспроизводить его руками через painter это фу как не красиво. Кто с таким сталкивался ? |
|
|
BRE |
15.11.2010, 23:33
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Попробуй передавать в drawContorl указатель на виджет для которого установлен qss-стиль.
Без указания виджета drawControl не обращает внимание на qss. Почему... вопрос. Вот подобное обсуждение: http://www.prog.org.ru/topic_12423_0.html |
|
|
Litkevich Yuriy |
16.11.2010, 0:09
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
если мне не изменяет мой маразм, то Каскадные таблицы стилей не совместимы с программными стилями.
Т.е. либо то, либо другое |
|
|
r485_post |
16.11.2010, 23:16
Сообщение
#4
|
Студент Группа: Новичок Сообщений: 10 Регистрация: 31.7.2009 Пользователь №: 970 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Текстовая версия | Сейчас: 19.11.2024, 20:08 |