Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: NortT от Июль 15, 2011, 07:37



Название: Запрет редактирования item'а у QListView
Отправлено: NortT от Июль 15, 2011, 07:37
Всем привет!
Есть объект на форме класса QListView. При даблклике на каком-либо айтеме появляется вомзожность указать пользовательское название для этого айтема. А как это запретить?


(http://img13.imageshost.ru/img/2011/07/15/image_4e1fca6112b33.png)


Название: Re: Запрет редактирования item'а у QListView
Отправлено: ddrtn от Июль 15, 2011, 08:08
Зависит от модели. для QStandardItemModel, например, у QStandardItem есть setEditable. В общем случае можно назначить readOnly делегат. Ну или наследовать от модели и переопределять setData


Название: Re: Запрет редактирования item'а у QListView
Отправлено: NortT от Июль 15, 2011, 09:08
В общем переопределил flags() для модели:
Код
C++ (Qt)
Qt::ItemFlags MyModel::flags(const QModelIndex &index) const
{
   Q_UNUSED(index);
   return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
}


Название: Re: Запрет редактирования item'а у QListView
Отправлено: GreatSnake от Июль 15, 2011, 10:48
Есть объект на форме класса QListView. При даблклике на каком-либо айтеме появляется вомзожность указать пользовательское название для этого айтема. А как это запретить?
Код
C++ (Qt)
QAbstractItemView::setEditTriggers( QAbstractItemView::NoEditTriggers )