【发布时间】:2017-08-08 18:03:27
【问题描述】:
我有以下类定义:
class PlaneGridQML : public QObject
{
Q_OBJECT
........
Q_INVOKABLE QList<QPoint> getPlanesPoints() {
return m_PlaneGrid.getPlanesPoints();
......
}
我主要是让 QML 引擎可以使用它
PlaneGridQML pgq(10, 10, 3, false);
engine.rootContext()->setContextProperty("PlaneGrid",&pgq);
然后在 QML 组件中,我想执行以下操作:
Connections {
target: PlaneGrid
onPlanesPointsChanged: {
var pointsArray = PlaneGrid.getPlanesPoints()
console.log(pointsArray[0].x)
}
}
我收到错误“未知方法返回类型:QList”,显然我无法读取 pointsArray 并显示其第一个成员。根据 Qt 文档 QPoint 可以直接作为 JS 类型调用。另一方面,QPoint 不是从QObject 派生的。
谁能解释我如何在 JS 函数中列出数组的元素(QPoints)?
【问题讨论】: