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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос про модель.  (Прочитано 3201 раз)
Flake
Гость
« : Март 24, 2009, 13:54 »

Задача такова. В модели есть ячейка в которой отображается некий текст и хранится значение. При редактировании этой ячейки появляется выпадающий список. После выбора в ячейке должен обновится текст и значение.

Код
C++ (Qt)
model->setData( model->index(r, 2, QModelIndex()), asd, Qt::DisplayRole );
model->setData( model->index(r, 2, QModelIndex()), zxc, Qt::EditRole );
 

Что отображать Qt::DisplayRole, что хранить Qt::EditRole. Но получается так, что выводится то что под Qt::EditRole.

Почему так происходит, получается DisplayRole и EditRole связаны между собой?
Записан
Rcus
Гость
« Ответ #1 : Март 24, 2009, 14:04 »

если это QStandardItemModel, то связаны:
qt45/src/gui/itemviews/qstandarditemmodel.cpp:814:
Код
C++ (Qt)
void QStandardItem::setData(const QVariant &value, int role)
{
   Q_D(QStandardItem);
   role = (role == Qt::EditRole) ? Qt::DisplayRole : role;
...
 
Записан
Flake
Гость
« Ответ #2 : Март 25, 2009, 10:26 »

Понял.

Создал свою модель, унаследовавшись от QAbstractItemModel. Переопределил методы, но всё перестало работать нормально Улыбающийся. Если ли пример реализации своей модели? Нужно чтобы всё было максимально к стандартной, но роли не были связаны.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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