Название: Редактируемый CheckBox в TableView Отправлено: radislav72 от Август 10, 2012, 19:45 Здравствуйте!
Есть TableView, в который при использовании QSqlQueryModel выбираются данные из БД: Код: model = new QSqlQueryModel(this); 1. Вместо 1 / 0 в последнем столбце отображались чекбоксы 2. Чтобы двойным кликаньем на ячейке с чекбоксом можно было перейти в режим редактирования, изменить состояние чекбокса, и в конце редактирования обновить данные в БД. Пробую сделать так через делегат: Код: CheckBoxDelegate::CheckBoxDelegate(QObject *parent, int checkColumnIx) : Сам делегат устанавливается в первом куске кода. Хотя пример взял из Exampl'ов Qt, но что-то ничего не работает- то-есть, в TableView дальше 1 / 0 вместо чекбоксов. А при установке breakpoint в createEditor ни разу точка останова не сработала. Подскажите, что не так? Название: Re: Редактируемый CheckBox в TableView Отправлено: radislav72 от Август 11, 2012, 09:28 Так, почему чекбоксов не было, разобрался: надо было еще метод paint написать:
Код: void CheckBoxDelegate::paint(QPainter * painter, const QStyleOptionViewItem &option, Но TableView в режим редактирования так и не переходит. Насколько я понимаю, он автоматически должен при двойном кликанье перейти в режим редактирования? И должен сработать метод createEditor, но он никогда ни при каких условиях не срабатывает... Название: Re: Редактируемый CheckBox в TableView Отправлено: Странник от Август 11, 2012, 09:44 QSqlQueryModel только для чтения, соответственно не возвращает флаг Qt::ItemIsEditable. надо думать, поэтому и не открывается ваш делегат в режиме редактирования. либо используйте QSqlTableModel, либо наследуйтесь и реализуйте редактирование самостоятельно.
Название: Re: Редактируемый CheckBox в TableView Отправлено: radislav72 от Август 11, 2012, 10:44 Спасибо за ответ...
Заменил QSqlQueryModel на QTableModel, но при двойном клике все равно режим редактирования не включается. И createEditor не срабатывает (: Название: Re: Редактируемый CheckBox в TableView Отправлено: Странник от Август 11, 2012, 11:39 EditTriggers для QTableView установлены?
Название: Re: Редактируемый CheckBox в TableView Отправлено: radislav72 от Август 11, 2012, 11:52 Да, прямо в коде даже прописал:
Код: ui->tabv->setEditTriggers(QAbstractItemView::DoubleClicked); Название: Re: Редактируемый CheckBox в TableView Отправлено: radislav72 от Август 11, 2012, 12:15 Или тут и модель нужно свою создать?
Название: Re: Редактируемый CheckBox в TableView Отправлено: aasavelev от Февраль 07, 2015, 17:35 У тебя как-нибудь получилось добиться редактирования CheckBox?
|