qt插件开发python_如何用其他语言编写带有绑定的Qt插件系统?

我正在用Qt编写一个应用程序,我想用插件扩展它。

我的应用程序还有一个插件将使用的库。所以,我需要双向交流。基本上,插件可以调用库,加载插件的应用程序将调用它们。在

现在,我的库用C++编写,所以它有一些类。插件可以包括头文件,链接到它并使用它。我还有一个带接口的头文件,它是插件必须实现的抽象基类。它们还应该导出一个将返回指向该类的指针的函数,并使用C链接。在

到目前为止我相信一切都很清楚,一个标准的插件接口。但是,有3个主要问题或子任务:如何使用其他语言的库?

我只在Python上尝试过。我使用SIP生成一个Python组件,我成功地将它导入到测试.py从库中的类调用函数。我没有尝试过其他语言。

如何用其他语言为我的抽象类生成适当的声明或存根?因为插件必须实现这个类,所以我应该能够以某种方式生成一个与其他语言的头文件等价的文件,比如Python的.py文件,.Java的class files等等。

我还没有尝试过,但我想有其他语言的生成器。

我如何在插件中创建对象的实例?如果我到了这一步,这个类将在插件中实现。现在我需要调用返回实现的抽象类实例的函数,并获取指向它的指针。

根据我的研究,为了实现这一点,我必须获得Python解释器、JVM等的句柄,然后从那里与插件进行通信。

它看起来不太复杂,但当我开始研究时,即使是最简单的情况,也需要大量的工作。我只成功地到达了第一点,而且只在Python中。这让我怀疑我采取的方法是否正确?你对此有何看法。。也许我不应该在我的库和抽象基类中使用QT,但只使用纯C++。这可能会让事情变得简单一点。或者我应该在我的库中只使用C,并使插件返回一个C结构而不是一个类。我相信这会使事情变得容易得多,因为给图书馆打电话是件小事。我相信,实现C++结构将更容易实现C++类,更容易实现使用Qt对象的C++类。在

请给我指出正确的方向,并分享你在这方面的专业知识。另外,如果你知道这方面的书,我很乐意购买。或者一些处理这个的链接就可以了。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值