PyQt Overview (Python-based GUI binding)


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

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

 

Download PyQt 6     Download PyQt 5

 

Download 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 扩展模块。

 

Version History

Time Version Qt Explanation Remark
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 Begin to support QtTextToSpeech
2020.06 5.15.0 5.15.0 Begin to support 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

Begin to support PDF OpenSSL1.1

QtWebEngine pop-up local document links are not supported (by default)

No longer supported MSVC2015
2019.03 5.12 5.12
2018.10 5.11.3 5.11.3

CPython2.7 (built with MSVC2008)

CPython3.5 3.6 3.7 3.8 (built with MSVC2015)

Web core changed from Apple Safari to Google Chromium
2018.08 4.12.3 4.8.7

CPython2.6 2.7 (built with MSVC2008)

CPython3.3 3.4 (built with MSVC2010)

Last Qt 4 binding version
2015.08 4.11.4 4.8.7
2013.03 4.10 4.8.4 Begin to support Windows
2013.01 3.18.1 3.3.6 Only supported MacOS Linux

 

Copyright Notice: This article is an exclusive original manuscript, copyright belongs to Happy Digits Software , shall not be reproduced without permission.