QListView mit QAbstractListModel zeigt eine leere Liste an
Ich habe ein sehr einfaches Beispiel dafür erstelltQListView
mit einem BrauchQAbstractListModel
. DasQListView
wird angezeigt, ist aber leer.
Was mache ich falsch?
Code:
#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();
}
Vielen Dank!
Die Korrektur für den vorherigen Code besteht darin, das übergeordnete Element des Modells auf "" festzulegenQListView
:
DataModel d(lv);
Dies wirft jedoch die Frage auf, wo die Modell- / Ansichtsunabhängigkeit liegt, wenn das Modell einen Verweis auf die Ansicht haben muss.
Was ist, wenn ich dieses Modell in zwei verschiedenen Ansichten verwenden möchte?