[Interest] Example for: QTreeView + QAbstractItemModel + external data

Björn Schäpers qt-maillist at hazardy.de
Wed Apr 27 23:45:42 CEST 2016


Am 26.04.2016 um 19:05 schrieb anton:
> Hi,
>
> I have subclassed QAbstractItemModel,
> and I want to load additionally data in the model
> as soon as somebody clicks on the [+]
> in the treeview to load the children of this
> item form an external data ( web- app which gives me json data back).
>
> Now:
>   I reimplemented hasChildren() in the model
> but i am not sure about the moment to load the data.
>
> I suppose that the rowCount() method of the model is called
> when somebody expands an item in the view?
> If not what is the moment when my model should ask for additional Data?
>
> Does there exist a small example which demonstrates how to
> handle this in an optimal way.
> Not sure about beginInsertRows() or layoutChanged() ..
> I am experimenting but i get also some crashes so an
> example project would be nice.
>
> Thanks
>
> Anton
I think you are looking for QAbstractItemModel::canFetchMore() and fetchMore(). 
See also the last paragraph in http://doc.qt.io/qt-5/qabstractitemmodel.html

To create models that populate incrementally, you can reimplement fetchMore() 
and canFetchMore(). If the reimplementation of fetchMore() adds rows to the 
model, beginInsertRows() and endInsertRows() must be called.



More information about the Interest mailing list