无法将QVariantMap设置为QML属性

时间:2014-12-21 13:04:27

标签: c++ qt dictionary qml qvariant

我想将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对象吗?

1 个答案:

答案 0 :(得分: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