从Qml传递到C ++的对象类型

时间:2018-06-10 07:48:49

标签: c++ qt qml

将对象从Qml传递给C ++时,我传递对象本身或指向它的指针? 示例:我有一个C ++插槽,我从Qml文件中调用它并将参数传递给它。我传递给插槽,对象或指向它的指针是什么?

1 个答案:

答案 0 :(得分:6)

这取决于你传递的是什么。 QObject派生类型本质上是不可复制的,因此通过指针传递。

对于数组,

JS对象可能会收到QVariantQVariantList,而QVariantMap会收到Object。这些是按值传递的,是传递数据的副本。也可以使用QJSValue

有许多对象类型转换为类似类型,您可以在official documentation中看到完整列表。