据我了解,Qt 提供了 2 个主要的插件机制:
我有兴趣为我的应用程序开发插件 (2)。
我使用 PySide,但找不到任何有关使用 PySide/PyQt 开发应用程序插件的资源。
根据 C++ Qt 文档,我了解应用程序必须使用Q_DECLARE_INTERFACE()宏,并且插件必须使用Q_INTERFACES()和Q_EXPORT_PLUGIN2()宏,但我不知道它们代表的代码尝试将其转换为 python 。或者还有我错过的另一种方式吗?
更新:
到目前为止,我能找到的最接近解决方案的是Alex Martelli 对类似问题的回答。虽然看起来它可以工作,但我宁愿使用官方的 Qt 方法来避免任何跨平台问题。
我认为 Qt 的插件系统旨在允许人们编写编译为二进制文件的 C++ 插件。我什至不知道理论上是否可以用 Python 编写使用 C++ 二进制接口的插件。
如果您想支持 Python 插件,最好的选择是使用众多纯 Python 插件系统之一。我编写了一个 PySide 应用程序,它使用 YAPSY 加载插件脚本。YAPSY 是一个非常简单、紧凑的插件模块。它很容易直接包含在您的应用程序中,因为它是单个文件,并且已获得 BSD 许可,因此您可以在商业上使用它。只需在谷歌上搜索即可。我什至能够使用 py2exe 打包我的应用程序,并且仍然保留从插件目录导入 python 源文件插件的能力。
| 归档时间: |
|
| 查看次数: |
1729 次 |
| 最近记录: |