Здравствуйте, гость ( Вход | Регистрация )
lucifer_vrn | Дата 12.3.2009, 16:21 |
т.е. уже косяк? да.1) незнаю, не я на машину ставил, скорее всего сборная. 2) 4.4.3 3) тут проблема семпл то выложить я смогу, но ему кча либ еще может потребоваться, а именно iris, а к ней уже всякие qca итд итп. К вечеру постараюсь выкинуть эти либы и выложить. BRE, твой семпл у меня нормально собрался и линуксе отобразил скролл.... НО, comboBox почему то выглядит по другому... см. скриншоты..... (семпл BRE слева, мой справа) |
|
BRE | Дата 11.3.2009, 14:28 |
Qt 4.4.3 Linux - все Ok.
|
|
Litkevich Yuriy | Дата 11.3.2009, 14:07 |
setItemDelegate(delegate); - нифига, скролл благополучно НЕ появляется. т.е. уже косяк?lucifer_vrn, 1) Qt у тебя самосборная или из хранилища пакетов дистрибутива? 2) какая версия Qt? 3) можешь выложить крошечный пример, где эта бага проявляется? |
|
lucifer_vrn | Дата 11.3.2009, 13:41 |
QItemDelegate *delegate = new QItemDelegate(); setItemDelegate(delegate); - нифига, скролл благополучно НЕ появляется. setItemDelegate(0) - скролл отображается.... нифига не пойму, такое чувство что надо что-то в делегате еще вписывать, только вот что или это баг Qt... з.ы. в этом посте речь шла о запуске под линукс. |
|
Константин | Дата 11.3.2009, 0:20 |
либо бага, либо сам накосячил. попробуй навесить какой-нть кутэшный делегат вместо своего и посмотри как будет себя вести вьюха со скроллом. |
|
lucifer_vrn | Дата 10.3.2009, 18:40 |
спасибо я так и думал. переназначил paintEvent в своем классе на основе QComboBox и все ОК. возник другой косяк. у итемов в комбо боксе не появляется полоса прокрутки в линуксе(полоса прокрутки имеется ввиду у выпадающего списка). под виндой все прикрасно, полоса появляется, а в линуксе ее нету, хотя стрелками с клавы итемы прокручивается. стоит убрать строку setItemDelegate, а модель можно оставить, так полоса в линухе появляется.... непонимаю это баг Qt или в делегате для комбобокса что-то для скролла надо подписать?
з.ы. linux ubuntu 8.10 |
|
Константин | Дата 9.3.2009, 21:56 |
нет | |
lucifer_vrn | Дата 9.3.2009, 21:05 |
прошу прощения за тупой вопрос, гугл и ему подобные я уже на изнанку вывернул. есть модель, есть делегат. делагат представляет собой рисованную картинку (QImage рисуется в painter) и две строки (painter.drawText). присваиваем их обоих для QComboBox. В выпадающем спике все зашибись отрисовывается. но как только я выбираю что либо в списке, список закрывается, а в самом ComboBox ничего не появляется. если в модели сделать чтоб возвращала текст, тогда все ок. paint в делегаете при этом не вызывается, только запрашивает у модели DisplayRole и DecorateRole(видимо для иконки и текста) внимание вопрос можно ли сделать стандарнтыни способами не переопределяя paintEvent у самого QComboBoxа, не рисую второй виджет рядом с комбобоксом и прочими извратами, чтобы делегат рисовался у QComboBox не только в выпадающем списке, а еще и в нем самом??? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.3.2024, 20:27 |