![]() |
|
![]() ![]() ![]() |
|
daemonaz |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Уважаемые!
Прошу помочь разобраться проблему с делегатом, бьюсь как об стену, не могу понять почему в QTreeWidget не отображается делегат? До этого использовал функцию setItemWidget, где создаю объект QComboBox и вставляю в ячейку, теперь ставится вопрос о создании делегата. Вот мой код делегата
код где создается объект делегата и вставляем в дерево в конструкторе MainWindow
вместо комбобокса отображается выделенный кубик, как заставить отображать в ячейке комбобокс? буду признателен за любую помощь. |
||||
|
|||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Зачем это?
|
|||
|
||||
daemonaz |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
math64, это устанавливает фиксированный размер комбобокса, просто шаг отчаяния, нашел в инете и вставил туда кусок кода, но не пашет, если даже уберу эти куски, все равно не пашет, не отображается комбобокс, почему?
|
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Размер редактора задается в updateEditorGeometry(). Можно установить в option.rect, можно поменять на свой.
sizeHint() не нужен вовсе. Кстати, QStringList проще создавать так:
|
|||
|
||||
daemonaz |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
math64, это я знаю, спасибо за подсказки, очень полезно. Но мне надо хотя бы показать комбобокс, не смогли бы у себя создать простенький проектик с делегатом, почему-то в упор не хочет отображаться, вместо комбобокса отображается выделенный прямоугольник.
Это сообщение отредактировал(а) daemonaz - 6.10.2014, 08:59 |
|||
|
||||
math64 |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Все вероятно из-за отсутствия этого:
|
||||
|
|||||
daemonaz |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
math64, спасибо! заработало!!
![]() ![]() но отображается тогда когда щелкну по ячейке мышью в режиме редактирования, а как сделать чтобы постоянно отображался? |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
нафиг нужно?
Если фсё-таки нужно, переопределяй
создавай в нём временный QComboBox рисуй как его в ячейке. |
|||
|
||||
daemonaz |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
math64, спасибо тебе, добрый человек!
![]() На случай если свыше команда придет, чтобы был постоянно нарисован комбобокс, а так конечно красивей будет без него, кому надо, пусть и щелкает. ![]() |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Ну едиственное исключение: когда в комбо-боксе два значения (true/false), его лучше заменить на чекбокс. Вот его-то действительно лучше показывать всегда.
|
|||
|
||||
daemonaz |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
math64, понял, спасибо!
Но я так понял что его имеет смысл использовать в модели-вид, а в обычном QTreeWidget есть же setChecked() который показывает галочку, но вот вопрос, у меня галочка постоянно находится с краю слева, как передвинуть в центр ячейки? Там можно только текст передвигать |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |