This is a full implementation for generic use of the QAbstractItemModel interface.
QAbstractItemModel
The model can replace QStandardItemModel depending only on Qt Core and resulting faster in most use cases.
QStandardItemModel