1

qml側にモデルを持たせるために、QAbstractListModelをサブクラス化しました。このモデルは、モデルを扱う ListViews やその他の同様のコンポーネントで簡単に使用できますが、直接アクセスすることはできません。これは私が成功せずに試していることです:

myModel[0].name // TypeError: Cannot read property 'name' of undefined

これは可能ですか?間違った構文を使用していますか?

4

3 に答える 3

1

QAbstractListModelDelegateModel モデルをメディエーターとして使用すると、ジェネリック モデル ( に基づく) に簡単にアクセスできます。

import QtQuick 2.2
import QtQml.Models 2.2

DelegateModel {
  id: delegateModel
}
MyModel {
  id: myModel
  onDataLoaded: {
    delegateModel.model = myModel;
    for (var row = 0; row < myModel.rowCount(); row++) {
      var item = delegateModel.items.get(row).model;
      console.log("  name " + row + ":" + item.name);
    }
  }
}
于 2018-08-24T23:10:30.567 に答える