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
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 的基础。
为方便开发 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 扩展模块。
Time | Version | Qt | Explanation | Remark |
---|---|---|---|---|
2021.12 | 6.2.2 | 6.2.2 | ||
2021.05 | 6.1.0 | 6.1.0 | 不再支持微软 Windows 7 |
No longer supported Python 2.7 最低支持 Python 3.6 |
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.