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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено]QListView  (Прочитано 2953 раз)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« : Сентябрь 11, 2013, 10:21 »

Подскажите, как можно сделать
обновление данных во View?

Т.е.
Есть модель она привязана к корню.
Код
C++ (Qt)
lass ListBrowserModel: public QAbstractListModel
{
   Q_OBJECT
 
public:
   explicit ListBrowserModel(QObject*parent = 0);
   QVariant data(const QModelIndex &index, int role) const;
   int rowCount(const QModelIndex &parent) const;
   Qt::ItemFlags flags(const QModelIndex &index) const;
   void setRoot(QObject*);
 
   QObject *root;
   QList<QObject*> element_list;
};
 

Берем меняем корень
Код
C++ (Qt)
void setRoot(newRoot);
 

Как сделать чтобы во view отобразились новые данные?
« Последнее редактирование: Сентябрь 19, 2013, 14:23 от demaker » Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Сентябрь 11, 2013, 10:23 »

void QAbstractItemModel::modelReset() [signal]
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #2 : Сентябрь 11, 2013, 10:28 »

void QAbstractItemModel::modelReset() [signal]

И как мне это поможет???
Сигнал высылается автоматически при обновлении модели?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Сентябрь 11, 2013, 10:29 »

И как мне это поможет???
Модель должна эмитеть этот сигнал, когда нужно, что бы виев обновил все.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #4 : Сентябрь 11, 2013, 10:31 »

В ListBrowserModel::setRoot() в самом начале вызови
Код
C++ (Qt)
QAbstractItemModel::beginResetModel();
,
а в конце
Код
C++ (Qt)
QAbstractItemModel::endResetModel();
Записан

Qt 5.11/4.8.7 (X11/Win)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #5 : Сентябрь 11, 2013, 10:38 »

Спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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