QListView con QAbstractListModel muestra una lista vacía

He creado un ejemplo muy simple deQListView con una costumbreQAbstractListModel. losQListView se muestra pero está vacío.

¿Qué estoy haciendo mal?

Código:

#include <QListView>
#include <QAbstractListModel>
#include <QApplication>

class DataModel: public QAbstractListModel
{
public:
    DataModel() : QAbstractListModel() {}
    int rowCount( const QModelIndex & parent = QModelIndex() ) const { return 2; }
    QVariant data( const QModelIndex & index, int role = Qt::DisplayRole ) const
    {
        return "a";
    }
};

int main( int argc, char **argv)
{
    QApplication app(argc, argv, true);
    QListView *lv = new QListView();
    DataModel d;
    lv->setModel( &d ); 
    lv->show();
    app.setMainWidget(lv);
    app.exec();
}

¡Gracias!

La solución al código anterior es establecer el padre del modelo en elQListView:

DataModel d(lv);

Pero esto plantea una pregunta: ¿dónde está la independencia del modelo / vista si el modelo debe tener una referencia a la vista?

¿Qué pasa si quiero usar este modelo en dos vistas diferentes?

Respuestas a la pregunta(1)

Su respuesta a la pregunta