PyQt 概述 (基于 Python 的 GUI 绑定)


PyQt 是一个将强大 C++ 编程语言 Qt 库绑定到 Python 编程语言的 GUI 应用程序工具包。

与 Qt 一样 PyQt 也是自由软件,其采用 GPL (GNU General Public License) 与商业双许可授权协议。 在此之前,GPL 版本只能用于 Unix 平台,从 PyQt4 起,GPL 许可可用于所有支持平台。

 

下载 PyQt 6     下载 PyQt 5

 

下载 PyQt 4

 

PyQt 由英国 Riverbank Computing 公司开发维护,最新版 PyQt6 基于 Qt 6.1.1,稳定版 PyQt5 基于 Qt 5.15.2,过时版 PyQt4 基于 Qt 4.8.7。

从 PyQt5.12 起,PyQtWebEngine PyQt3D PyQtChart PyQtDataVisualization 模块从主安装包中分离,需单独安装。

PyQt5 支持 Python 2.7 3.5 3.6 3.7 3.8 3.9,PyQt4 仅支持 Python 2.7 3.4。

PyQt5 相较 PyQt4 对信号/槽语法要求更严格,譬如

self.connect(self.actionUndo, SIGNAL("triggered()"), self.undo)
					

必须写成

self.actionUndo.triggered.connect(self.undo)
					

否则,提示语法错误。

PyQt 工具包带有拖拽式 GUI 设计工具 QtDesigner (但理念不成熟只适于新手)。

PyQt 是 Python 编程语言的 GUI (图形用户界面) 解决方案之一,可代替 Python 的内置 Tkinter。

Python GUI 的其它替代者,包括 PySide PyGTK wxPython 等,PyQt 还是 PyKDE 的基础。

 

SIP


为方便开发 PyQt,SIP 于 1998 年由英国 Riverbank Computing 公司开发出来。

SIP 是一个专业绑定工具,不但可用于 PyQt,还适用于所有 C/C++ 库。

利用 SIP,大多数为 Qt 开发的控件也可方便地移植到 PyQt。

程序员需先用 SIP 定义语法添加一些 C++ 代码中没有的信息。

便要先编写一 *.sip 文件,使用类似 C++ 的语法在其中描述扩展模块所提供的类型与函数。

*.sip 文件类似于 C/C++ 头文件,但 SIP 并不完全支持 C++ 语法,因此,不能直接使用 C++ 头文件作为 *.sip 文件。

然后用 SIP 将这个文件转化为 C++ 代码,最终编译后,与 C/C++ 库链接就成为了 Python 扩展模块。

 

版本历史

时间 版本 Qt 说明 备注
2021.05 6.1.0 6.1.0 sip 6.1.0
2021.03 5.15.4 5.15.2 sip 12.8.1
2020.09 5.15.1 5.15.1 开始支持 QtTextToSpeech
2020.06 5.15.0 5.15.0 开始支持 QtQuick3D sip 12.8.0
2020.04 5.14.2 5.14.2 sip 12.7.2
2020.01 5.14.1 5.14.0
2019.12 5.14.0 5.14.0
2019.11 5.13.2 5.13.2
2019.09 5.13.1 5.13.1
2019.07 5.13 5.13

开始支持 PDF OpenSSL1.1

QtWebEngine 默认不支持弹出本地文档链接

不再支持 MSVC2015
2019.03 5.12 5.12
2018.10 5.11.3 5.11.3

CPython2.7 (采用 MSVC2008 构建)

CPython3.5 3.6 3.7 3.8 (采用 MSVC2015 构建)

Web 核心由 Apple Safari 改为 Google Chromium
2018.08 4.12.3 4.8.7

CPython2.6 2.7 (采用 MSVC2008 构建)

CPython3.3 3.4 (采用 MSVC2010 构建)

最后一个 Qt 4 绑定版本
2015.08 4.11.4 4.8.7
2013.03 4.10 4.8.4 开始支持 Windows
2013.01 3.18.1 3.3.6 仅支持 MacOS Linux

 

版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载。