Russian Qt Forum

Qt => Model-View (MV) => Тема начата: Admin от Июнь 02, 2009, 09:49



Название: Поясните про модели.
Отправлено: Admin от Июнь 02, 2009, 09:49
Есть моделька - QAbstractTableModel. Она заполняться из базы данных каждый раз заново и отображается на QTableView.
Как я нашел в примере, каждый раз конструируется новая моделька new QAbstractTableModel и выполняется setModel().

1) Как заново обновлять существующую модель я не нашел. Типа очистить ее и залить в нее свежие данные?

Далее, нам нужна сортировка - включаем сюда QSortFilterProxyModel и точно так же синхронно пересоздаем модельку new QSortFilterProxyModel.

код примерно такой:

Код
C++ (Qt)
void CMainWindow::updateModel()
{
   CDomainModel* model = new CDomainModel();
   CDomainFilterProxyModel* proxyModel = new CDomainFilterProxyModel(this);
 
 
   proxyModel->setSourceModel(model);
   m_tDomainList->setModel(proxyModel);
   m_tDomainList->resizeColumnsToContents();
 
 
   delete m_model;
   delete m_proxy_model;
   m_model = model;
   m_proxy_model = proxyModel;
}
 

2) Можно ли как нить не пересоздавать каждый раз модель QSortFilterProxyModel?


Название: Re: Поясните про модели.
Отправлено: spectre71 от Июнь 02, 2009, 09:57
Зачем прересоздавать?

void QAbstractItemModel::reset ()