-1

我想将一个QVariantMap属性导出到 QML,所以我正在做

Q_PROPERTY(QVariantMap myData READ myData)

在 myData() 函数中,我只是做

QVariantMap map;
map.insert("ExampleKey", "key");
return map;

在 QML 中

myData.ExampleKey //undefined

或者

myData["ExampleKey"] //undefined

有人能指出我正确的方向,以便能够将其用作简单的 JS 对象吗?

4

1 回答 1

0

感谢 BaCaRoZzo 找到最佳答案。基本上 QML JavaScript 使用 QVariantMap 作为它的数组。不需要做更多的事情,使用 JavaScript 数组,你会得到 QVariantMap,它可以传输到 C++。

QML 引擎提供 QVariantList 和 JavaScript 数组之间以及 QVariantMap 和 JavaScript 对象之间的自动类型转换。

http://doc.qt.io/qt-5/qtqml-cppintegration-data.html#qvariantlist-and-qvariantmap-to-javascript-array-and-object

于 2014-12-22T08:12:23.680 回答