1、了解:
PyQt5是一套綁定Qt5的應用程序UI框架。他在Python 2.x和3.x中都是可用的。該教程使用的是Python3.x。Qt庫是一套最有用的GUI庫。PyQt5的官方主頁www.riverbankcomputing.co.uk/news。PyQt5是由Riverbank Computing開發的。
PyQt5是作為一套Python模塊實現的。他已經超過620個類和6000個函數與方法。他是一個運行在所有主流操作系統上的多平台組件,包括Unix,Windows和Mac OS。PyQt5是雙重許可的。開發者可以選擇GPL和商業許可。
2、安裝:(使用Eric6還會再提及)
pip3 install pyqt5 進行安裝
注意:使用 pip3 install PyQt5安裝PyQt5.9版本后發現在./Python/Lib/site-packages/PyQt5目錄下沒有designer.exe工具,
在PyCharm的External Tools中找不到designer.exe,查閱資料后發現有如下解決方法:
pip install PyQt5-tools -i http://pypi.douban.com/simple --trusted-host=pypi.douban.com
安裝完成后,在./Python/Lib/site-packages/pyqt5-tools目錄下可找到designer.exe,此后可在PyCharm或者Eric6中找到並添加designer.exe
3、PyQT5模塊
- QtCore :模塊包含了非GUI的功能設計。這個模塊被用來實現時間,文件和目錄,不同數據類型,流,URL,mime類型,線程和進程。
- QtGui:模塊包含的類用於窗口化的系統結構,事件處理,2D繪圖,基本圖形,字體和文本。
- QtWidgets:模塊包含的類提供了一套UI元素來創建經典桌面風格用戶界面。
- QtMultimedia:模塊包含的類用於處理多媒體內容和鏈接攝像頭和無線電功能的API。
- QtBluetooth:模塊包含的類用於掃描藍牙設備,並且和他們建立連接互動。
- QtNetwork:模塊包含的類用於網絡編程,這些類使TCP/IP和UDP客戶端/服務端編程更加容易和輕便。
- QtPositioning:模塊包含的類用於多種可獲得資源的位置限定,包含衛星定位,Wi-Fi,或一個文本文件。
- Enginio:模塊用於解決客戶端訪問Qt雲服務托管。
- QtWebSockets:模塊用於解決客戶端訪問Qt雲服務托管。
- QtWebKit:包含的關於瀏覽器的類用於解決基於WebKit2的支持庫。
- QtWebKitWidgets:模塊包含的關於WebKit1的類基本解決瀏覽器使用基於QtWidgets應用問題。
- QtXml:
QtXml模塊包含的類用於解析XML文件。這個模塊提供SAX和DOM API解決方法。 - QtSvg:模塊提供類用於顯示SVG文件內容。Scalable Vector Graphics (SVG) 是一種語言,用XML來描述二維圖形和圖形應用程序。
- QtSql:模塊提供類驅動數據庫工作。
- QtTest:模塊包含了方法提供PyQt5應用的單元測試。
4、創建第一個界面應用
import sys from PyQt5.QtWidgets import QApplication, QWidget #demo_1:顯示一個主窗體 if __name__ == '__main__': app=QApplication(sys.argv)#所有的PyQt5應用必須創建一個應用(Application)對象 widgets=QWidget() #Qwidget組件是PyQt5中所有用戶界面類的基礎類。我們給QWidget提供了默認的構造方法。默認構造方法沒有父類。沒有父類的widget組件將被作為窗口使用。 widgets.resize(300,300) #設置這個Widget的界面大小 widgets.move(200,200) #設置顯示的位置 widgets.setWindowTitle('Example')#窗體的標題 widgets.show() sys.exit(app.exec())

