pyqt和python的關係 PyQt5 簡介

2021-10-11 22:34:09 字數 1561 閱讀 6567

本教程的目的是帶領你入門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

qt**********

qtbluetooth

qtnetwork

qtpositioning

enginio

qtwebsockets

qtwebkit

qtwebkitwidgets

qtxml

qtsvg

qtsql

qttest

qtwidgets類包含了一系列建立桌面應用的ui元素。

qt**********包含了處理多**的內容和呼叫攝像頭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。

PyQt5和Python的多執行緒

python程式本身沒有真正意義的併發多執行緒,受制於gil鎖。如果實現真正的多執行緒,需要借助於多程序實現,類unix平台都提供了fork系統呼叫,但是windows平台很難實現多程序。多程序消耗資源比較大,有些情況下,一些輕量級的任務需要借助多程序,比如高i o 輕計算的任務。threading...

Python中的型別關係和繼承關係

在python中一切都是物件,每個物件都有乙個唯一的不可變的id 通過id函式查詢 把乙個名字和乙個id關聯起來,就可以通過這個名字檢索到這個物件。如果乙個物件a持有另乙個物件b的id,那麼檢索到a之後就可以檢索到b,我們就說存在乙個a到b的導航。這種導航關係使得python中所有物件之間形成了乙個...

qt和python關係 Qt和Python D

qt中通常有兩種型別的小部件介面。乙個是檢視版本,另乙個是小部件版本 繼承檢視 最容易使用的是widget版本,對於您似乎正在嘗試做的事情,我建議您這樣做。在 另外,雖然你可以用你以前的方式來做軟體,但通常遵循更常見的約定會更好。我修改了您的 包括構建主視窗的方式 讓小gui使用新方法 addcar...