在 Ubuntu 应用程序中是否可以从 javascript 启动 C++ 函数?

在 Ubuntu 应用程序中是否可以从 javascript 启动 C++ 函数?

我有一个使用 QML 和 C++ 的应用程序,并且想从 javascript 启动 C++ 函数。可以吗?

答案1

对的,这是可能的。

您需要做的是创建一个插件。这将允许您将 C++ 对象(并且只能是对象!)导入到您的 QML 命名空间中。由于您需要一个 C++ 函数,因此您必须创建一个“虚拟”对象,其方法只调用您想要的 C++ 函数。

为此,您需要创建两个类。一个是上面提到的虚拟对象的类。第二个将继承自第一个类QQmlExtensionPlugin,并且必须调用它。qmlRegisterType

这只是一个概述——有关更多详细信息,请参阅Qt 文档。我还写了一个例子QML 插件用于读取文件,这应该相当接近您的需要。

相关内容