PyQt5的類別分爲幾個模塊,包括:python
QtCore:包含非核心的GUI功能,此模塊用於處理時間、文件和目錄、各類數據類型、流、URL、MIME類型、線程或進程web
QtGui:包括窗口系統集成、事件處理、二維圖形、基本成像、字體和文本數據庫
QtWidgets:基本控件都位於pyqt5.qtwidgets模塊中,模塊包含創造經典桌面風格的用戶界面提供了一套UI元素的類編程
QtMultimedia:包括的類來處理多媒體內容和API來訪問相機和錄音機的功能瀏覽器
Qtbluetooth:模塊包含類的掃描設備和鏈接並與他們互動。描述模塊包含了網絡編程的類。這些類便於TCP和IP和UDP客戶端和服務器的編碼,使網絡編程更容易和更便攜。
Qtpositioning:包含類的利用各類可能的來源,肯定位置,包括衛星、Wi-Fi、或一個文本文件。
Enginio:模塊實現了客戶端庫訪問Qt雲服務託管的應用程序運行時。
Qtwebsockets:模塊包含實現WebSocket協議類。
QtWebKit:包含一個基於Webkit2圖書館Web瀏覽器實現類。
Qtwebkitwidgets:包含的類的基礎webkit1一用於qtwidgets應用Web瀏覽器的實現。
QtXml:包含與XML文件的類。這個模塊爲SAX和DOM API提供了實現。
QtSvg:模塊提供了顯示SVG文件內容的類。可伸縮矢量圖形(SVG)是一種描述二維圖形和圖形應用的語言。
QtSql:模塊提供操做數據庫的類。
QtTest:包含的功能,使pyqt5應用程序的單元測試服務器
app = QApplication(sys.argv) websocket
# 每個pyqt5應用程序必須建立一個應用程序的對象,網絡
# sys.argv參數是一個列表,從命令行輸入參數app
# 所以在函數開始,要導入QApplication,from PyQt5.QtWidgets import QApplication框架
w = QWidget()
# 創鍵窗口實例
# QWidget是一套用戶界面的類
# 在開始要要導入QWidget,from PyQt5.QtWidgets import QWidget
w.resize(800,150)
# resize()方法調整窗口的大小,單位像素,原點在窗口的左上角頂點
w.move(800,400)
# move()方法移動窗口在屏幕的位置,單位像素,原點左邊在屏幕的左上角頂點
w.setWindowTitle("我是窗口標題")
# 設置窗口標題
w.show()
# 顯示在屏幕上
sys.exit(app.exec_())
# exit()方法保證程序乾淨退出,加下劃線是由於exec是一個python關鍵詞,因此用exec_()代替
PyQt5都會使用下列OOP面向對象編程的框架
import sys from PyQt5.QtWidgets import QApplication, QWidget class mywindow(QWidget): def __init__(self): super().__init__() self.initUI() # 界面交給initUI方法 def initUI(self): .... ... ... if __name__ == '__main__': app = QApplication(sys.argv) # 建立應用程序對象 ex = mywindow() ex.show() sys.exit(app.exec_())
self.setGeometry(800, 400, 200, 200)
# 設置窗口的位置和大小
self.setWindowIcon(QIcon('web.png'))
# 在函數開頭要導入from PyQt5.QtGui import QIcon
# 設置窗口的圖標,引用當前目錄下的web.png圖片
QToolTip.setFont(QFont('Time New Roman',10))
# 工具提示要導入from PyQt5.QtWidgets import QToolTip
# 字體要導入from PyQt5.QtGui import QFont
# 設置工具提示的字體,這裏設置成Time New Roman,10號字體
self.setToolTip('This is a <b>QWidget</b> widget')
# 建立一個提示,使用setToolTip()方法,<b>title</b>,title會被加粗
btn = QPushButton('Button',self)
btn.setToolTip('This is a <b>QPushButton</b> widget')
# 建立一個按鈕QPushButton,並命名爲Button
# 將他設置工具提示settooltip
btn.resize(btn.sizeHint())
# 將按鈕設置爲默認尺寸btn.sizeHint()
btn.clicked.connect(QCoreApplication.instance().quit)
# 綁定按鈕事件爲quit退出
def closeEvent(self, event): reply = QMessageBox.question(self, 'Message',"Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() # 贊成even請求 else: event.ignore() #忽略事件
# 要導入from PyQt5.QtWidgets import QMessageBox
# 關閉窗口會觸發QCloseEvent,重寫QWidget類中的closeEvent關閉窗口函數
# 第一個字符串爲窗口標題。第二個字符串消息對話框中顯示的文本。第三個參數指定按鈕的組合出如今對話框中。最後一個參數是默認按鈕,這個是默認的按鈕焦點
# 最後處理返回值,若是點擊yes按鈕,關閉小部件並終止應用程序,不然咱們忽略關閉事件
# 控制窗口顯示在屏幕中心的方法 # 得到窗口 def center(self): qr = self.frameGeometry() # 得到屏幕中心點 cp = QDesktopWidget().availableGeometry().center() # 顯示到屏幕中心 qr.moveCenter(cp) self.move(qr.topLeft())
# 要導入from PyQt5.QtWidgets import QDesktopWidget
# QtGui,QDesktopWidget類提供了用戶的桌面信息,包括屏幕大小。