PySide for Digitser (基于 Python 的 Qt/C++ GUI 绑定)


系统: Microsoft Windows / Mac OS X / Unix / Linux (x86 & amd64)

网盘 1     网盘 2     官网下载     百度搜索     文档编制     数字 IDE Python (开发工具)     数字 IDE 专业版 (开发工具)


PySide 是一个将强大的 C++ 语言 Qt 库绑定到 Python 编程语言的 GUI 应用程序创建工具包。 与 Qt 一样 PyQt 也是自由软件,其采用 LGPL (GNU Lesser General Public License) 许可授权协议。 2009 年 8 月 PySide1.0 首次发布。 2018 年 6 月发布 PySide2.0。

PySide 由 Qt 官方开发维护,项目名 Qt for Python。 最新版 PySide2 基于 Qt/C++ 5.12.2 绑定, 老版 PySide1.2.4 最后基于 Qt/C++ 4.8.7 绑定。 PySide1 支持 Python 2.7 3.4,PySide2 支持 Python 2.7 3.5 3.6 3.7,且 PySide2 某些模块不支持 x86 OS 平台。 PySide1 和 PyQt4 的 API 完全相容,但 PySide2 和 PyQt5 却相差很大。

PySide 是 Python 编程语言的 GUI 解决方案之一,除可代替 Python 内置 Tkinter 外,主要用于取代 PyQt。 Python GUI 的其它替代者,包括 PyQt (由英国 Riverbank Computing 公司开发维护,采用 GPL 许可授权协议) PyGTK wxPython 等。 PySide 自带 QtDesigner,可按拖拉方式设计界面,简单易用。 从 PySide2 起,Shiboken2 模块从主安装包中分离,需单独或依赖安装。


Shiboken

Shiboken 是一个 Generator Runner 前端插件,它使用 CPython 源代码为 C++ 库生成绑定。 Generator Runner 是为便于 C++ 和 Qt 库开发语言绑定而创建的一个工具。 它提供了一个框架,使得这个过程能最大可能自动化:使用 ApiExtractor 提取 C++ 头文件中的信息,通过相应前端 (用户可以自己提供) 生成某种目标语言绑定。 Shiboken 为 CPython 生成绑定,DocGenerator 为要绑定的库生成文档。

Generator Runner 定义了一个前端接口类 Generator; 每个前端插件 (如 Shiboken) 只需要提供了一个函数 void getGenerators(GeneratorList* list) 来返回包含 Generator 的一个链表 (QLinkedList); 在调用 Generator Runner 时,通过 generatorrunner --generator-set=shiboken 命令行指定使用哪一个前端。

当编译或安装 Shiboken 时,我们会注意到和 Shiboken 名字相关的有 3 个文件: shiboken_generator(.dll/.so/...) 是插件 (前端); shiboken-python*(.dll/.so/...) 是最终生成代码运行需依赖的; shiboken(.exe) 是壳文件,就是 generatorrunner --generator-set=shiboken。

在命令行 --generator-set,我们可指定 Shiboken 插件完整路径。 如果不是完整路径,generatorrunner 会先合成文件名 shiboken_generator.dll,再搜索编译时指定插件目录、QCoreApplication::libraryPaths() 返回路径。

要想为 C++ 库生成绑定,需 API Extractor 从 C++ 库头文件中提取信息,通过 typesystem 文件控制提取 (修改、重命名) 哪些信息。 信息提取后,理论上就可为各种高层语言提供绑定 (只要有相应的前端存在)。


版本历史

时间 版本 Qt 说明 备注
2019.03 2.0 5.12.0
2018.06 2.0 5.11.0 Python2.7 (采用 MSVC2008 构建) Python3.5 3.6 3.7 (采用 MSVC2015 构建) Web 核心由 Apple Safari 改为 Google Chromium
2015.10 1.2.4 4.8.7 Python2.6 2.7 (采用 MSVC2008 构建) Python3.3 3.4 (采用 MSVC2010 构建) 最后一个 Qt4 绑定版本
2013.08 1.2.1 4.8.0
2009.08 1.0 4.5.0 首次发布

版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载;否则,将追究其法律责任。