crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

kibsoft
  опции профиля:
сообщение 27.2.2010, 23:19
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


Взял пример написания новой модели из документации и изменил QStringList на QList<Connection*>. Connection - наследник QTcpSocket.

QVariant ConnectionModel::data(const QModelIndex &index, int role) const
 {
     if (!index.isValid())
         return QVariant();

     if (index.row() >= peers.size())
         return QVariant();

     if (role == Qt::DisplayRole)
         return peers.at(index.row())->name();//вот тут возвращаю имя пира QString, но в ListView не появляются данные.
     else
         return QVariant();
 }


Что неправильно?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 27.4.2010, 1:38
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(azure @ 27.4.2010, 3:21) *
при этом соответствующая модель не обновляет QListView
соответствующая, это какая?

Цитата(azure @ 27.4.2010, 3:21) *
Не совсем понимаю как и в каком виде передается информация об изменении структуры данных к модели и как от модели к виду.
методами Model::data и Model::setData
Представление, для каждого элемента данных создаёт делегат (QStyledItemDelegat), если ты сам явно его не установил.
Когда элемент данных (читай делегат) находится в видимой области, он запрашивает данные у модели с помощью Model::data.
Когда элемент данных (читай делегат) переходит в режим редактирования, то делегат создаёт виджет-редактор, который получает данные точно также, только роль данных другая. А при закрытии виджета редактора, последний отправляет данные в модель с помощью Model::setData
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 20.7.2025, 1:37