PyQt5 是 Python 的第三方庫,提供了 Qt 框架的 Python 綁定,允許開發者在 Python 中創建跨平臺圖形用戶界面(GUI)應用。PyQt5 功能強大,涵蓋窗口、控件、事件處理、繪圖、網絡、多媒體等模塊,是桌面應用開發的常用工具。
安裝 :
pip install PyQt5常見應用場景:
(1)桌面應用開發
創建具有窗口、菜單、工具欄、狀態欄的完整 GUI 程序。
(2)跨平臺支持
同一套代碼可在 Windows、macOS、Linux 上運行。
(3)數據可視化工具
結合繪圖庫(如 matplotlib)實現交互式圖表。
(4)多媒體應用
支持音視頻播放、圖像處理等多媒體操作。
(5)企業內部工具
快速開發管理系統、工具軟件和原型界面。
◆ ◆ ◆
核心概念
1、應用程序對象(QApplication)
每個 PyQt5 GUI 程序必須創建一個 QApplication 對象,管理應用程序的主控事件循環和全局設置。
app = QApplication([])2、窗口與控件(QWidget, QMainWindow 等)
? QWidget:所有 GUI 控件的基類,可作為窗口或容器。
? QMainWindow:標準主窗口,包含菜單欄、工具欄、狀態欄。
? 常用控件:QLabel(標簽)、QPushButton(按鈕)、QLineEdit(文本輸入)、QComboBox(下拉框)、QTableWidget(表格)等。
3、布局管理(Layout)
通過布局管理器組織控件位置和大小,常用的有:
? QVBoxLayout:垂直布局
? QHBoxLayout:水平布局
? QGridLayout:網格布局
? QFormLayout:表單布局
4、事件與信號槽機制(Signal & Slot)
? 信號(Signal):控件觸發的事件,例如按鈕點擊、文本變化。
? 槽(Slot):處理信號的函數或方法。
? 使用 connect() 方法將信號與槽綁定。
button.clicked.connect(some_function)5、繪圖與多媒體
? QPainter:用于自定義繪圖,如繪制形狀、文本和圖像。
? QMediaPlayer、QVideoWidget:用于音視頻播放。
◆ ◆ ◆
應用舉例
例 1:創建簡單窗口
app.exec_()例 2:按鈕點擊事件
app.exec_()例 3:文本輸入與標簽
app.exec_()例 4:網格布局示例
app.exec_()例 5:信號與自定義槽
app.exec_()◆ ◆ ◆
常用函數與類速覽
QApplication([])
創建應用程序對象。
參數:列表形式的命令行參數(可選)。
返回:QApplication 實例。
QWidget()
創建基礎窗口或控件。
參數:可選父控件。
返回:QWidget 實例。
QMainWindow()
創建主窗口,支持菜單欄、工具欄等。
參數:可選父控件。
返回:QMainWindow 實例。
QPushButton(text)
創建按鈕控件。
參數:按鈕文本。
返回:QPushButton 實例。
QLabel(text)
創建文本標簽控件。
參數:顯示文本。
返回:QLabel 實例。
QLineEdit()
創建單行文本輸入框。
參數:可選父控件。
返回:QLineEdit 實例。
Signal.connect(slot)
將信號綁定到槽函數。
參數:可調用對象。
返回:無。
show()
顯示控件或窗口。
參數:無。
返回:無。
exec_()
啟動應用程序事件循環。
參數:無。
返回:退出代碼(int)。
小結
PyQt5 是 Python 中功能最強大的 GUI 框架之一,提供豐富的控件、布局和事件機制。
通過 QApplication、控件類及信號槽機制,可以快速構建跨平臺桌面應用。
無論是簡單工具、數據可視化程序,還是復雜企業級桌面軟件,PyQt5 都提供了穩定、靈活且可擴展的開發環境。
![]()
“點贊有美意,贊賞是鼓勵”
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.