Qt的文檔似乎有點短暫的問題,但我試圖使用QLists作爲ListView的模型。 事情是,我代表一個層次結構,每當一個項目被點擊時,模型與另一個交換,QML從C++回調中獲取。QML ListView使用QList <QObject*>作爲模型
這是代表一個列表項的對象:
和我如何使用它在QML:
ListView {
id: list_view
model: myModel
anchors.fill: parent
delegate: Item {
id: row
height: 50
anchors.left: parent.left
anchors.right: parent.right
MouseArea {
anchors.fill: row
onClicked: {
list_view.model = descent;
}
}
Column {
Text { text: name }
Text { text: subtitle }
}
}
}
的 「基於myModel」 模式被設置在主,像這樣:
context->setContextProperty("myModel", QVariant::fromValue(folder.getChildren()));
第一次出現ListView時,它使用myModel作爲模型,它起作用。每當我點擊一個項目,但是,ListView會創建期望的項目的確切數量......但它不能讀取它們的任何屬性!
爲什麼ListView知道它需要創建多少物品,但看不到它們的屬性?
我聽說過QAbstractItemModel,並試圖不必這樣做:因爲我正在處理簡單的數據(僅限QString),所以我會研究'體面的'!謝謝! – Michael