目錄
1、PyQt介紹
①特點
②主要組件
2、創建第一個窗口
exce_()
1、PyQt介紹
????????PyQt 是一個用于創建圖形用戶界面(GUI)應用程序的 Python 庫,它是 Qt 框架的 Python 綁定。
①特點
- 跨平臺:支持多種操作系統,包括 Windows、macOS 和 Linux
- 豐富的控件庫:PyQt 提供了大量預定義的控件,如按鈕、文本框、列表框、菜單、工具欄等
- 信號與槽機制:信號與槽是一種通信機制,用于在對象之間傳遞消息。當某個事件發生時(如用戶點擊按鈕),會發出一個信號,然后連接到一個槽(即一個函數),槽函數會被調用以處理該事件。
- 支持多種編程范圍:支持面向對象編程,開發者可以創建自定義的控件類,繼承自 PyQt 的控件類,并重寫其方法來實現特定的功能
- 與Python深度集成:PyQt 無縫集成到 Python 中,可以方便地與其他 Python 庫(如 NumPy、Matplotlib 等)結合使用
②主要組件
QtWidgets | 構建用戶界面的主要模塊 | QPushButton (按鈕)、QLabel (標簽)、QLineEdit (文本輸入框)、QTextEdit (多行文本框)、QTableView (表格視圖)等 |
QtGui | 與圖形相關的功能 | QPainter 用于繪圖操作,QFont 用于字體設置,QColor 用于顏色管理 |
QtCore | 提供了基礎的類和工具,如信號與槽機制、定時器、數據結構等 | QObject 是 PyQt 中所有對象的基類,它支持信號與槽的功能 |
QtMultimedia | 處理多媒體內容 | 音頻和視頻播放,處理多媒體的內容和調用攝像頭 |
QtNetwork | 網絡編程功能 | 支持 TCP/IP 和 UDP 等協議,可以用于開發網絡應用程序 |
·其他模塊:QtBluetooth[藍牙]、QtPositioningp[定位]、QtSql[處理數據庫]、QtTest[測試PyQt5應用]等..
2、創建第一個窗口
思考:需要窗口什么組件?
需要構建QtWidgets用戶界面模塊,QApplication初始化應用程序資源(窗口系統,事件循環等..),還需要sys模塊實現sys.exit()方法退出程序
import sys
from PyQt5.QtWidgets import QApplication,QWidget
from PyQt5.QtGui import QIconclass MyWindow(QWidget):def __init__(self):# 調用父類的初始化方法super().__init__()# 定義自己的屬性self.setWindowTitle("自定義窗口")self.resize(400,300)self.setwindowIcon(QIcon('a.png'))self.setToolTip('這是一個氣泡提示')# 自定義繪制self.setStyleSheet("background-color:lightblue")if __name__ == '__main__':# sys.argv 是一個包含命令行參數的列表,QApplication 會解析這些參數并進行相應的處理app = QApplication(sys.argv)# 創建自定義窗口window = MyWindow()window.show()# exce()是QApplacation中的一種方法sys.exit(app.exec_())
exce_()
- 啟動事件循環:
exec_()
方法會啟動一個事件循環持續運行,直到用戶關閉應用程序或程序主動退出 - 處理事件:在事件循環中,
QApplication
會監聽各種事件(如鼠標事件、鍵盤事件、窗口事件等),并將這些事件分發給相應的控件進行處理。 - 保持應用程序運行:事件循環會阻止程序繼續執行后續代碼,直到事件循環結束。
exec_()
通常位于程序的最后,確保應用程序在用戶關閉窗口之前一直運行。