Название: [ЗАКРЫТО] Редактирование только одного столбца в QTableView Отправлено: INZER от Июня 06, 2012, 01:01 Задача следующая: в QTableView необходимо разрешить редактирование только одного столбца.
Создал делегат, но не могу понять как отменить редактирование в ненужных столюцах Код:
Пробовал в условии в блоке else создавать QLabel, однако редактированиевсе равно возможно. Результат: (http://s48.radikal.ru/i119/1206/b9/95de9658f504.jpg) Необходимо, чтобы первый столбец был редактируемум, а последующие нет. Как это сделать? Заранее спасибо! Название: Re: Редактирование только одного столбца в QTableView Отправлено: Странник от Июня 06, 2012, 01:36 обычно реализую это в модели, переопределяя
Цитировать Qt::ItemFlags QAbstractItemModel::flags ( const QModelIndex & index ) const [virtual] Название: Re: Редактирование только одного столбца в QTableView Отправлено: Kurles от Июня 06, 2012, 08:34 обычно реализую это в модели, переопределяя Или если используется QStandardItemModel то у QStandardItem есть метод setEditable (bool editable).Цитировать Qt::ItemFlags QAbstractItemModel::flags ( const QModelIndex & index ) const [virtual] Название: Re: Редактирование только одного столбца в QTableView Отправлено: INZER от Июня 12, 2012, 23:42 обычно реализую это в модели, переопределяя Цитировать Qt::ItemFlags QAbstractItemModel::flags ( const QModelIndex & index ) const [virtual] можешь пример показать? Название: Re: Редактирование только одного столбца в QTableView Отправлено: Странник от Июня 13, 2012, 00:01 можешь пример показать? за возможность редактирования отвечает флаг Qt::ItemIsEditable. для ячеек 0-го столбца возвращаете его, для других - нет.Код: Qt::ItemFlags YourModel::flags ( const QModelIndex & index ) const Название: Re: Редактирование только одного столбца в QTableView Отправлено: INZER от Июня 13, 2012, 14:14 Странник, спасибо!
все ОК! после того как приделал твое решение нашло озарение и решил попробовать вот так: Код: QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const тоже работает :) |