![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
giker |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 26 Регистрация: 18.5.2010 Пользователь №: 1731 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте! Нужно отрисовывать QComboBox в QTableView так что бы ячейки всегда выглядели как QComboBox. Выяснил что для этого нужно переопределить метод paint у QStyledItemDelegate. Пробую переопределить его так:
но ячейки получаются пустыми. Когда переопределяю так:
тогда отоисовывается значение в ячейке, в обычном виде, но серым цветом. Поскажите пожалуйста как сделать отрисовку. Спасибо. |
|
|
FantasyOr |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 75 Регистрация: 13.8.2010 Пользователь №: 1956 Спасибо сказали: 4 раз(а) Репутация: ![]() ![]() ![]() |
единственное, что могу посоветовать:
в папке с Qt есть папка "\demos\spreadsheet" там реализация делегата QDateTimeEdit в ячейке. Немного осмыслив этот пример можно и переделать на QComboBox. |
|
|
giker |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 26 Регистрация: 18.5.2010 Пользователь №: 1731 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо, но это не много не то. Как сделать так чтобы при выделении нужная ячейка превращалась в QComboBox хорошо показано в примере qtdemos->ItemViews->SpinboxDelegate + надо выставить ui->tableView->setEditTriggers(QAbstractItemView::AllEditTriggers), что бы ячейка переходила в режим редактирования при клике по ней. Но мне нужно что бы ячейка выглядела как QComboBox в нередактируемом состоянии.
|
|
|
giker |
![]()
Сообщение
#4
|
Студент ![]() Группа: Участник Сообщений: 26 Регистрация: 18.5.2010 Пользователь №: 1731 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Подсказали: Оказывается надо вызвать
и в заданной ячейке всегда будет комбобокс! |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 1.6.2025, 13:14 |