簡體   English   中英

如何從C ++訪問QML ListElement

[英]How to access a qml ListElement from c++

我有一個ListModel:

ListModel {
  ListElement {
    property: "value"
  }
  ListElement {
    property: "value2"
  }
}

我正在嘗試從C ++ Qt類訪問它。

我設法獲得對listmodel的引用:

QQmlEngine engine;
QQmlComponent component(&engine,
            QUrl("qrc:///path.qml"));
QObject *object = component.create();

對該對象進行QQmlListModel(adress)會給我一個QQmlListModel(adress)
object -> chlidren()沒有給我任何東西, object -> chlidren() object -> children().count()顯示為0。
我嘗試從object創建QListQTableView ,但是沒有運氣。

如何獲取ListElements的值?

由於QQmlListModel繼承了QAbstractItemModel您可以使用此類提供和實現的所有方法。

更具體地說,您將尋找:

然后,您可以輕松地遍歷模型。

QQmlComponent component(&engine, "MyQmlListModel.qml");
QObject* o = component.create();
QAbstractListModel* m = qobject_cast<QAbstractListModel*>(o);

if (m != nullptr) {
    qDebug() << m->rowCount();
    qDebug() << m->data(m->index(0, 0), 0);
}
else { qDebug() << "failed!"; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM