crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> delegate у QComboBox
lucifer_vrn
  опции профиля:
сообщение 9.3.2009, 21:05
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 27.2.2009
Пользователь №: 580

Спасибо сказали: 3 раз(а)




Репутация:   0  


прошу прощения за тупой вопрос, гугл и ему подобные я уже на изнанку вывернул.
есть модель, есть делегат. делагат представляет собой рисованную картинку (QImage рисуется в painter) и две строки (painter.drawText).
присваиваем их обоих для QComboBox.
В выпадающем спике все зашибись отрисовывается. но как только я выбираю что либо в списке, список закрывается, а в самом ComboBox ничего не появляется. если в модели сделать чтоб возвращала текст, тогда все ок. paint в делегаете при этом не вызывается, только запрашивает у модели DisplayRole и DecorateRole(видимо для иконки и текста)
внимание вопрос можно ли сделать стандарнтыни способами не переопределяя paintEvent у самого QComboBoxа, не рисую второй виджет рядом с комбобоксом и прочими извратами, чтобы делегат рисовался у QComboBox не только в выпадающем списке, а еще и в нем самом???
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
lucifer_vrn
  опции профиля:
сообщение 11.3.2009, 13:41
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 27.2.2009
Пользователь №: 580

Спасибо сказали: 3 раз(а)




Репутация:   0  


QItemDelegate *delegate = new QItemDelegate();
setItemDelegate(delegate); - нифига, скролл благополучно НЕ появляется.

setItemDelegate(0) - скролл отображается....

нифига не пойму, такое чувство что надо что-то в делегате еще вписывать, только вот что
или это баг Qt...

з.ы. в этом посте речь шла о запуске под линукс.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2024, 21:19