6

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?

TheMeaningfulEngineer
  • 15,679
  • 27
  • 85
  • 143

1 Answers1

8

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.
Pavel Strakhov
  • 39,123
  • 5
  • 88
  • 127