PyQt 學習筆記2 PyQt框架簡介

2022-03-10 23:52:58 字數 1672 閱讀 3094

pyqt 是python語言下最流行,使用最為廣泛的qt繫結, qt則是c++語言離最流行的gui程式設計框架。

那什麼是qt的python繫結呢?意思就是原生的qt是c++寫的,沒法再python裡之間使用,所以pyqt使用python實現了qt同樣的介面類庫,這個類庫底層呼叫了qt的庫。介面的用法上保證跟源生qt(類、方法、屬性、引數、返回值)保持一致。

這樣以來如果寫過c++的qt的,只有稍微熟悉python 語法基礎就能寫pyqt程式,反之亦然, 甚至寫golang 下的qt gui 程式也能很快上手類qt的gui程式。

pyqt是qt公司 qt應用程式框架的一組python v2和v3繫結,可 在qt支援的所有平台上執行,包括windows,os x,linux,ios和android。pyqt5支援qt v5。pyqt4支援qt v4,並將針對qt v5進行構建。繫結是作為一組python模組實現的,包含1000多個類。pyqt不包含qt的副本。您必須自己獲得qt的正確許可副本。但是,提供了pyqt5的gpl版本的二進位制車輪,這些二進位制車輪包括qt的lgpl版本的副本。

pyqt匯集了qt c ++跨平台應用程式框架和跨平台解釋語言pytho庫。

qt不僅僅是乙個gui工具包。它包括網路套接字,執行緒,unicode,正規表示式,sql資料庫,svg,opengl,xml,功能齊全的web瀏覽器,幫助系統,多**框架以及豐富的gui小部件的抽象。

qt類採用訊號/槽機制在物件之間進行通訊,這種機制型別安全但耦合鬆散,因此易於建立可重複使用的軟體元件。

qt還包括圖形使用者介面設計器qt designer。pyqt能夠從qt designer生成python**。也可以將用python編寫的新gui控制項新增到qt designer。

python的強大功能來自其全面的擴充套件模組集,這些擴充套件模組提供了多種功能,包括http伺服器,xml解析器,資料庫訪問,資料壓縮工具,當然還有圖形使用者介面。擴充套件模組通常以python,c或c ++實現。使用諸如sip之類的工具來建立封裝現有c或c ++庫的擴充套件模組是相對簡單的。這樣,python便可以成為從已建立的庫建立新應用程式的粘合劑。

pyqt結合了qt和python的所有優點。程式設計師擁有qt的全部功能,但是可以通過python的簡單性來利用它。

pyqt5包含許多不同的元件。首先,有許多python擴充套件模組。這些都安裝在 pyqt5python軟體包中,並在模組列表中進行了描述 。

pyqt5作為多個源包和相應的二進位制檔案輪分發,每個原始檔包實現乙個或多個邏輯相關的擴充套件模組。

pyqt5包含使qt designer和qmlscene能夠使用python**擴充套件的外掛程式。有關詳細資訊,請分別參見編寫qt designer外掛程式和 整合python和qml。

pyuic5對應於qt uic實用程式。它將使用qt designer建立的基於qtwidgets的gui 轉換 為python**。

pyrcc5對應於qt rcc實用程式。它在python模組中嵌入由資源收集檔案描述的任意資源(例如,圖示,影象,翻譯檔案)。

pylupdate5對應於qt的lupdate效用。它從python**中提取所有可翻譯的字串,並建立或更新.ts翻譯檔案。然後,qt linguist使用它們來管理這些字串的翻譯。

pyqt5包含大量示例。這些是qt提供的許多c ++示例的python埠。它們可以在examples目錄中找到 。

pyqt 學習筆記 知識框架

4 1 qmainwindow 4 2 qwidget 4 3 qlabel 4 4 文字類控制項 4 5 按鈕類控制項 4 6 qcombox 下拉列表框 4 7 qspinbox 計數器 4 8 qslider 滑動條 4 9 對話方塊類控制項 4 10 視窗繪圖類控制項 4 11 拖曳與剪下板...

pyqt 學習筆記

coding utf8 import sys from pyqt4 import qtgui,qtcore class my button qtgui.qwidget def init self,parent none qtgui.qwidget.init self self.setwindowti...

PyQt5學習筆記之PyQt安裝教程

安裝pyqt5 pip install pyqt5 i安裝pyqt5的常用qt工具 pip install pyqt5 tools i安裝成功後在以下路徑增加新的資料夾 第乙個pyqt程式 import sys from pyqt5 import qtwidgets,qtcore widget qt...