ListModel is an implementation of a QAbstracListModel.
It can be populated from QML.
If you want to have more control over the data or behavior or your model, subclass QAbstractListModel yourself and reimplement the functions you are interested in (usually rowCount, data, roleNames)