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.12 6.2.2 6.2.2
2021.05 6.1.0 6.1.0 不再支持微軟 Windows 7

不再支持 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 開始支持 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

 

版權聲明: 本文為獨傢原創稿件,版權歸 樂數軟件 ,未經許可不得轉載。