将对象从Qml传递给C ++时,我传递对象本身或指向它的指针? 示例:我有一个C ++插槽,我从Qml文件中调用它并将参数传递给它。我传递给插槽,对象或指向它的指针是什么?
答案 0 :(得分:6)
这取决于你传递的是什么。 QObject
派生类型本质上是不可复制的,因此通过指针传递。
JS对象可能会收到QVariant
或QVariantList
,而QVariantMap
会收到Object
。这些是按值传递的,是传递数据的副本。也可以使用QJSValue
。
有许多对象类型转换为类似类型,您可以在official documentation中看到完整列表。