4
我已經創建了一個非常簡單的例子QListView
與自定義QAbstractListModel
。顯示QListView
,但它是空的。QListView與QAbstractListModel顯示一個空列表
我在做什麼錯?
代碼:
#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();
}
謝謝!
的修復以前的代碼是模型的家長設置爲QListView
:
DataModel d(lv);
但是,這提出了一個問題,哪裏是模型/視圖獨立性如果模型必須有一個參考以觀點?
如果我想在兩種不同視圖中使用此模型會怎麼樣?
完成,但它仍然沒有表現出任何項目:( – 2013-02-27 13:55:21
重要的是,數據()返回無效的QVariant() 檢查。如果你沒有忘記「return QVariant()」 – 2013-02-27 14:22:54
它確實返回QVariant()。我已經解決了它,儘管我仍然認爲它有錯誤,請看原版的 – 2013-02-28 07:07:35