gpt4 book ai didi

javascript - 如何在 QML Javascript 中创建和使用 C++ 对象

转载 作者:可可西里 更新时间:2023-11-01 02:42:28 26 4
gpt4 key购买 nike

我的应用同时使用 C++ 和 QML。

我在 C++ 部分定义了几个对象来访问 SQL 等。

看起来像:

class MyObject : public QObject
{
Q_OBJECT
public:
MyObject(QObject *parent = 0);
Q_INVOKABLE void someFunction(const QString &query);
};

qmlRegisterType<MyObject>("xxx.xxx", 1, 0, "MyObject");

理想情况下,我只需要在 Javascript 而不是 QML 中使用这些对象。

我尝试了很多示例并阅读了所有文档,但仍然无法解决我的问题。

所以我的问题:

  • 如何在 Javascript 中实例化 C++ 中定义的对象?我尝试了 var obj = Qt.createComponent("MyObject"); 但它似乎不起作用。是否可以用普通的 JS 样式定义新对象 - var obj = new MyObject;
  • 如何在 javascript 中访问这个创建的对象?我尝试了 obj.someFunction("xxx") 但出现了一些错误 - TypeError: Property 'someFunction' of object QQmlComponent(0x3605f5c0) is not a function. 我在这里做错了什么?我的对象派生自 QObject,而不是 QQmlComponent。

最佳答案

您的对象不是组件,但您可以使用Qt.createQmlObject相反。

关于javascript - 如何在 QML Javascript 中创建和使用 C++ 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23923617/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com