![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
lucifer_vrn |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 19 Регистрация: 27.2.2009 Пользователь №: 580 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
прошу прощения за тупой вопрос, гугл и ему подобные я уже на изнанку вывернул.
есть модель, есть делегат. делагат представляет собой рисованную картинку (QImage рисуется в painter) и две строки (painter.drawText). присваиваем их обоих для QComboBox. В выпадающем спике все зашибись отрисовывается. но как только я выбираю что либо в списке, список закрывается, а в самом ComboBox ничего не появляется. если в модели сделать чтоб возвращала текст, тогда все ок. paint в делегаете при этом не вызывается, только запрашивает у модели DisplayRole и DecorateRole(видимо для иконки и текста) внимание вопрос можно ли сделать стандарнтыни способами не переопределяя paintEvent у самого QComboBoxа, не рисую второй виджет рядом с комбобоксом и прочими извратами, чтобы делегат рисовался у QComboBox не только в выпадающем списке, а еще и в нем самом??? |
|
|
![]() |
lucifer_vrn |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 19 Регистрация: 27.2.2009 Пользователь №: 580 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
спасибо я так и думал.
переназначил paintEvent в своем классе на основе QComboBox и все ОК. возник другой косяк. у итемов в комбо боксе не появляется полоса прокрутки в линуксе(полоса прокрутки имеется ввиду у выпадающего списка). под виндой все прикрасно, полоса появляется, а в линуксе ее нету, хотя стрелками с клавы итемы прокручивается. стоит убрать строку setItemDelegate, а модель можно оставить, так полоса в линухе появляется.... непонимаю это баг Qt или в делегате для комбобокса что-то для скролла надо подписать?
з.ы. linux ubuntu 8.10 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 14.7.2025, 16:55 |