我正在尝试在 Android(版本 4)上部署我的应用程序,但我在模型中遇到委托(delegate)问题 - ReferenceError: modelData is not defined
。
我的代码是
MapItemView {
model: roadModel
delegate: MapPolyline {
line.width: 3
line.color: "red"
path: [
modelData.fromWaypoint,
modelData.toWaypoint
]
}
}
此代码应连接 Map
组件上的两点。
在 GCC Ubuntu 16 上一切正常,但当我尝试在 Android 上部署它时,modelData
停止工作并且未定义。
如何让 modelData
重新工作?
感谢您的帮助!
最佳答案
modelData
仅为“哑”模型定义,那些没有角色的模型,如 QStringList、javascrpit 数组、整数……
就像模型有一个名为 modelData
对于 QAbstractListModel
(一个自定义的 c++ 模型,或一个 ListModel
),模型有一个角色列表,您可以使用它们来访问委托(delegate)中的模型数据。
在您的情况下,它应该是 fromWaypoint
或带有模型限定符 (model.fromWaypoint
),如果您想避免阴影并明确显示。
相关文档在这里:http://doc.qt.io/qt-5/qtquick-modelviewsdata-modelview.html#models
关于android - 基于 QML 模型的组件在 android 上具有未定义的 modelData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52202910/