PyQt5 簡介

本教程的目的是帶領你入門PyQt5。教程內所有代碼都在Linux上測試通過。PyQt4 教程是PyQt4的教程,PyQt4是一個Python(同時支持2和3)版的Qt庫。

關於 PyQt5

PyQt5 是Digia的一套Qt5應用框架與python的結合,同時支持2.x和3.x。本教程使用的是3.x。Qt庫由Riverbank Computing開發,是最強大的GUI庫之一 ,官方網站:www.riverbankcomputing.co.uk/news。

PyQt5是由一系列Python模塊組成。超過620個類,6000函數和方法。能在諸如Unix、Windows和Mac OS等主流操作系統上運行。PyQt5有兩種證書,GPL和商業證書。

PyQt5類分爲很多模塊,主要模塊有:

  • QtCore 包含了核心的非GUI的功能。主要和時間、文件與文件夾、各種數據、流、URLs、mime類文件、進程與線程一起使用。
  • QtGui 包含了窗口系統、事件處理、2D圖像、基本繪畫、字體和文字類。
  • QtWidgets
  • QtMultimedia
  • QtBluetooth
  • QtNetwork
  • QtPositioning
  • Enginio
  • QtWebSockets
  • QtWebKit
  • QtWebKitWidgets
  • QtXml
  • QtSvg
  • QtSql
  • QtTest

QtWidgets類包含了一系列創建桌面應用的UI元素。
QtMultimedia包含了處理多媒體的內容和調用攝像頭API的類。
QtBluetooth模塊包含了查找和連接藍牙的類。
QtNetwork包含了網絡編程的類,這些工具能讓TCP/IP和UDP開發變得更加方便和可靠。
QtPositioning包含了定位的類,可以使用衛星、WiFi甚至文本。
Engine包含了通過客戶端進入和管理Qt Cloud的類。
QtWebSockets包含了WebSocket協議的類。
QtWebKit包含了一個基WebKit2的web瀏覽器。
QtWebKitWidgets包含了基於QtWidgets的WebKit1的類。
QtXml包含了處理xml的類,提供了SAX和DOM API的工具。
QtSvg提供了顯示SVG內容的類,Scalable Vector Graphics (SVG)是一種是一種基於可擴展標記語言(XML),用於描述二維矢量圖形的圖形格式(這句話來自於維基百科)。
QtSql提供了處理數據庫的工具。
QtTest提供了測試PyQt5應用的工具。

PyQt4和PyQt5的區別

PyQt5不兼容PyQt4。PyQt5有一些巨大的改進。但是,遷移並不是很難,兩者的區別如下:

  • 重新組合模塊,一些模塊已經被廢棄(QtScript),有些被分爲兩個子模塊(QtGui, QtWebKit)。
  • 添加了新的模塊,比如QtBluetooth, QtPositioning,和Enginio。
  • 廢棄了SINGAL()和SLOT()的調用方式,使用了新的信號和xx處理方式。
  • 不再支持被標記爲廢棄的或不建議使用的API。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章