Russian Qt Forum
Сентябрь 21, 2024, 22:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Запрет редактирования item'а у QListView  (Прочитано 4659 раз)
NortT
Гость
« : Июль 15, 2011, 07:37 »

Всем привет!
Есть объект на форме класса QListView. При даблклике на каком-либо айтеме появляется вомзожность указать пользовательское название для этого айтема. А как это запретить?


« Последнее редактирование: Июль 15, 2011, 07:54 от NortT » Записан
ddrtn
Гость
« Ответ #1 : Июль 15, 2011, 08:08 »

Зависит от модели. для QStandardItemModel, например, у QStandardItem есть setEditable. В общем случае можно назначить readOnly делегат. Ну или наследовать от модели и переопределять setData
Записан
NortT
Гость
« Ответ #2 : Июль 15, 2011, 09:08 »

В общем переопределил flags() для модели:
Код
C++ (Qt)
Qt::ItemFlags MyModel::flags(const QModelIndex &index) const
{
   Q_UNUSED(index);
   return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
}
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Июль 15, 2011, 10:48 »

Есть объект на форме класса QListView. При даблклике на каком-либо айтеме появляется вомзожность указать пользовательское название для этого айтема. А как это запретить?
Код
C++ (Qt)
QAbstractItemView::setEditTriggers( QAbstractItemView::NoEditTriggers )
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.082 секунд. Запросов: 22.