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

anton antonxx at gmx.de
Sat Apr 30 10:08:28 CEST 2016

Thanks Björn,

I'll try it (actually i did the job in the rowCount() function..)
I would have preferred that the documentation be clear about this,
I mean with a detailed example :-)



Björn Schäpers wrote:

> 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