由于 QPluginloader
,我有一个加载外部插件的 C++ 应用程序。
QPluginLoader
提供对 Qt 插件的访问。 Qt 插件存储在共享库(DLL)中。
插件必须继承自纯虚类(和Q_DECLARE_INTERFACE
)和QObject
。
我想使用 python 和 PyQt
创建插件。
这可能不需要太多工作吗?
例如,如果我必须使用 boost::python
将模块转换为 C++,这可能是无稽之谈,因为 PyQt
已经是从 C++ 到 Python 的转换...
谢谢!
编辑:
我查看了有关插件的 pyqt 文档:
http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/pyqt4ref.html#writing-qt-designer-plugins
PyQT
有一个用于 qt 设计器插件的特定类 QPyDesignerCustomWidgetPlugin
。
但是这个类在 QtDesigner.pyd
模块中,所以我看不到代码以复制相同的架构。
编辑2:
http://www.boddie.org.uk/david/Projects/Python/Qt/
文件 pyqt4-embedded-examples-2008-02-13.tar.gz
包含在 C++ 中集成 PyQt Widget 的代码示例。但是您不使用 QPluginLoader 并且必须将 python 解释器 header 集成到您的 C++ 主代码中。
再次感谢
最佳答案
好吧,我认为不做太多工作是不可能的。如果您在 PyQt 中编写模块,您可能必须将整个 Python 解释器添加到您的可执行文件中才能解释这些模块。即使您将这些模块翻译成 C++,翻译后的函数在某些时候也必须调用 Python API,从而引入对 Python 本身的依赖。
关于c++ - QPluginLoader 与 PyQt 模块作为插件 : possible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2691724/