PyQt5說明
pyqt5是一套Python綁定Digia QT5應用的架構。它可用于Python 2和3。本教程使用Python 3。Qt庫是最強大的GUI庫之一。pyqt5的官方網站http://www.riverbankcomputing.co.uk/news。
pyqt5做為Python的一個子產品,它有620多個類和6000個函數和方法。這是一個跨平台的工具包,它可以運作在所有主要的作業系統,包括UNIX,Windows,Mac OS。pyqt5是雙重許可。開發者可以在GPL和商業許可之間進行選擇。
pyqt5的類别分為幾個子產品,包括以下:
- QtCore
- QtGui
- QtWidgets
- QtMultimedia
- QtBluetooth
- QtNetwork
- QtPositioning
- Enginio
- QtWebSockets
- QtWebKit
- QtWebKitWidgets
- QtXml
- QtSvg
- QtSql
- QtTest
QtCore:包含了核心的非GUI功能。此子產品用于處理時間、檔案和目錄、各種資料類型、流、URL、MIME類型、線程或程序。
QtGui包含類視窗系統內建、事件處理、二維圖形、基本成像、字型和文本。
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應用程式的單元測試
PyQt4和PyQt5的差別
pyqt5不向後相容pyqt4。pyqt5有幾個顯著的變化。将舊代碼調整到新庫并不困難。有幾個大的改變如下:
- Python子產品已經重組。一些子產品已經删除(qtscript),有的被分割成子子產品(QtGui,QtWebKit)。
- 新的子產品作了詳細的介紹,包括qtbluetooth,qtpositioning,或enginio。
- pyqt5隻支援新型的信号和槽handlig。電話signal()或slot()不再支援。
- pyqt5不支援Qt的API被标記為過時或陳舊的任何部分在QT V5.0。