Название: Делегат для QtableWidget Отправлено: sektor от Июнь 02, 2016, 13:21 Добрый день всем. Хочу создать диалоговое окно с таблицей, при двойном клике на элемент таблицы редактирование происходило с делегатом spinBox. Я знаю это можно сделать с помощью модель представления, но не хотел заморачиваться и хотел сделать на виджете tableWidget. Можно ли использовать делегирование для tableWidget, если да, пожалуйста приведите пример.
Название: Re: Делегат для QtableWidget Отправлено: Racheengel от Июнь 02, 2016, 14:36 QTableWidget это наследник QAbstractItemView.
Соответственно делегировать можно, как и для вью. Пример дает гугл очень быстро: http://doc.qt.io/qt-4.8/qt-itemviews-spinboxdelegate-example.html Название: Re: Делегат для QtableWidget Отправлено: sektor от Июнь 03, 2016, 11:47 Сделал как в примере, что то у меня таблица пустая получается. Нет элементов.
Код: { Название: Re: Делегат для QtableWidget Отправлено: GreatSnake от Июнь 03, 2016, 11:57 Объект созданный в скопе будет уничтожен при выходе из скопа.
Название: Re: Делегат для QtableWidget Отправлено: sektor от Июнь 03, 2016, 15:56 Все понял, получилось. А можно будет для каждой ячейки spinbox - а свои параметры установить ?
Название: Re: Делегат для QtableWidget Отправлено: Racheengel от Июнь 03, 2016, 20:58 void QItemDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const
Sets the data to be displayed and edited by the editor from the data model item specified by the model index. в делегат передается редактируемый индекс в модели и собственно редактор, для которго можно посадить свои параметры согласно индекса. Название: Re: Делегат для QtableWidget Отправлено: sektor от Июнь 08, 2016, 13:03 Спасибо
|