javascript - 在 QML 中获取 C++ 对象并在 javascript 中使用它

标签 javascript c++ qml qt-quick

我正在制作一个应用程序,在其中我想从 C++ 源代码中的 QML 调用一个函数,并且该 C++ 函数返回我和对象,我可以将其与 QML 的 javascript 部分中的相同属性一起使用。我已经建立了联系和一切。我尝试发送 QVariantMap 并尝试在 javascript 中使用该对象,但我没有获取该对象的属性

最佳答案

将基于 QObject 的类型从 C++ 导出到 QML 有两种方法:

  1. 直接从属性 READer 或 Q_INVOKABLE 函数返回独立的 QObject。注意,作为属性返回的对象具有 C++ 所有权,Q_INVOKABLE 对象具有 JS 所有权。您可以通过 http://doc.qt.nokia.com/4.7/qdeclarativeengine.html#setObjectOwnership 更改此默认行为.
  2. 返回 QObject 数组。在这种情况下,您应该使用 QObjectList、QDeclarativePropertyMap(不是 QVariantMap)或 QAbstractListModel。

关于javascript - 在 QML 中获取 C++ 对象并在 javascript 中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6779984/

相关文章:

c++ - 如何使用导出相同函数名称的 2 个 C 库

C++ 继承和初始化顺序

c++ - 类型转换感知的数字文字

C++ 信号到 Qt 中的 QML 槽

qt - QML SplitView 在 Handlebars 鼠标释放时自动折叠

javascript - 如何更改div中的内容而不覆盖当前内容?

javascript - 使用 javascript 从 img 标签中分割纯文本

javascript - Firebase - 在删除项目时调用 child_added

javascript - Webpack 文件加载器输出 [object Module]

qt - 如何旋转/更改 ApplicationWindow QML 的方向?