如何从 QML 获取 QVector<qint16> 元素?
How to get QVector<qint16> element from QML?
在我的 class 参数中,我创建了以下 q属性:
Q_PROPERTY(QVector <qint16> tmrAndCont READ tmrAndCont WRITE setTmrAndCont NOTIFY tmrAndContChanged)
我已经为 get 和 read 属性 创建了相关方法。
现在我有一个包含 43 个元素的 QVector。
所以我的问题是:我可以从 QML 访问我的 QVector 的元素吗?
在 main.cpp 中,我声明了 class 并使用 engine.rootContext 将其显示给 QML。
Parameters::m_parameters = new Parameters();
engine.rootContext()->setContextProperty("parameters",Parameters::m_parameters);
QML 没有 16 位整数的概念。我建议不要直接将向量公开为上下文 属性,而是将其包装在 QObject
派生的 class 中,它提供大小、get 和 set 方法以及从常规 [=11 到常规 [=11] 的隐蔽=] 当您访问数据时,并公开它。
请注意,QML 会将 QVector<int>
隐式转换为 JS 数组,但一方面,我没有测试这是否适用于较短的整数,其次,这将是转换,这意味着你不会
在我的 class 参数中,我创建了以下 q属性:
Q_PROPERTY(QVector <qint16> tmrAndCont READ tmrAndCont WRITE setTmrAndCont NOTIFY tmrAndContChanged)
我已经为 get 和 read 属性 创建了相关方法。 现在我有一个包含 43 个元素的 QVector。
所以我的问题是:我可以从 QML 访问我的 QVector 的元素吗?
在 main.cpp 中,我声明了 class 并使用 engine.rootContext 将其显示给 QML。
Parameters::m_parameters = new Parameters();
engine.rootContext()->setContextProperty("parameters",Parameters::m_parameters);
QML 没有 16 位整数的概念。我建议不要直接将向量公开为上下文 属性,而是将其包装在 QObject
派生的 class 中,它提供大小、get 和 set 方法以及从常规 [=11 到常规 [=11] 的隐蔽=] 当您访问数据时,并公开它。
请注意,QML 会将 QVector<int>
隐式转换为 JS 数组,但一方面,我没有测试这是否适用于较短的整数,其次,这将是转换,这意味着你不会