TheMeaningfulEngineer
TheMeaningfulEngineer

Reputation: 16329

Qt Model-View update view?

I have a model which is updated dynamically not related to the view. Which method should be called on the view to show the current models data?

Example:

StationListModel *model = new StationListModel(dynamic_list);
QListView *view = new QListView;
view->setModel(model);  //view set with empty model 
view->show();

In some point in time the dynamic_list is populated with new entries via a socket connection (nothing to do with View). How to populate the view with new data?

Upvotes: 6

Views: 12767

Answers (1)

Pavel Strakhov
Pavel Strakhov

Reputation: 40492

Model must emit signals to notify views when its data changed. Choose appropriate signals depending on how exactly data is changed:

  • dataChanged signal forces view to update specific cells, but not to create or remove cells.
  • layoutAboutToBeChanged and layoutChanged signals forces view to update everything.
  • signals about adding or removing rows and columns forces view to update accordingly.

Upvotes: 8

Related Questions