GUI學習之一 PyQt5初識

2022-05-29 02:51:14 字數 1891 閱讀 6353

我們在第〇篇裡先演示了gui的功能,其實python有多個庫是支援gui程式設計的,python官網列出了大量的說明,其中包括了原生的tkinter

還有許多第三方庫

pyqt

pyside

wxpython

pygui

kivy.....等等

首先,我們要明白,對任意乙個庫來說,都是沒有最好的,只由最合適的,所以我們要結合這幾點來來選擇最適合自己的庫:

1.簡單好用

2.功能強大

3文件齊全,方便查詢

4.效能強勁

5.穩定性高

6.生態支援

7.跨平台支援

8.開源免費.

除了上述的幾點外,還有兩點非常重要

可以看看軟體版本和最近的更新時間,盡可能避開最小的版本號的和很久沒有更新的,因為版本號太小是剛出的,有可能很多bug都沒有暴露出來,而太久沒有更新的已經沒有技術支援了,在大型的專案裡一旦出了問題太難維護。

基於以上標準對比,我選擇了pyqt5。

pyqt本質上還是qt,是乙個用c++寫的乙個跨平台的gui開發框架。而pyqt是qt用python進行了繫結,在保留原有的api時實現了原有的所有功能。所以一旦掌握了pyqt後再掌握了c++的基本語法可快速接受qt的使用。

而現在使用的pyqt5,是python對qt5.x版本的繫結,完美的支援了python3.x。

1.各種控制項的特性和使用 

2.控制項的樣式

3.資源的載入

4.控制項的布局

5.事件和訊號

6.動畫特效

7.介面跳轉

8.設計工具的使用

9.額外的東西

我們把設計工具放在最後,就是在學會**的時候利用qtdesigner之類的工具優化我們的程式設計流程,就是為了防止我們先會用設計工具忽略**的方法。

pyqt5庫結構

qtwidgets包含了一整套ui元素,用於建立符合系統風格的介面

qtgui 涵蓋了多種基本圖形功能的類:字型、圖形、圖示、顏色等

qtcore 涵蓋了包的核心非gui功能:時間、檔案、目錄、資料型別、文字流、連線、執行緒程序等

這三個是最長用的類,後面的我們以後有時間再講

還有乙個模組:qt,是把所有的類綜合到乙個模組裡。好處就是不用關心哪個模組裡有哪些類,但是由於載入了所有的類,比較吃記憶體,適合新手學習時候使用。

下面用乙個最簡單的**分析一下pyqt5程式基本結構

from pyqt5.qt import *

import

syswindow =qwidget()

window.setwindowtitle(

'first gui')

window.resize(500,500)#

視窗大小

window.move(0,0)#

視窗位置

lable =qlabel(window)

lable.settext(

'hello world!')

lable.move(200,200)

window.show()

first_gui

from pyqt5.qt import *

import sys #

匯入模組

建立應用程式

window =qwidget()

window.show()

#控制項操作

#開始執行應用程式並進入訊息迴圈(無限迴圈)

在控制項操作的時候,常規方式就是先建立乙個介面的父控制項,再針對這個父控制項建立按鈕、標籤等控制項,完成後呼叫父控制項的顯示功能。

GUI程式設計Pyqt5之QtDesigner控制項

垂直布局 verticallayout 水平布局 horizontallayout 網格布局 gridlayout 表單布局 formlayout 絕對布局 預設 水平間隔 horizontalspacer 豎直間隔 verticalspacer 常規按鈕 pushbutton 工具按鈕 toolb...

PyQT5 學習使用 筆記 一 安裝pyQT5

之前已經學習過了qt 的 基本使用了解了 訊號和槽 的機制。由於新專案需要跨平台,所以 在視覺開發包的選擇上 選擇了opencv python,所幸 qt也有pyqt5 的包可以和 opencv python 聯合使用開發。廢話不說了 開始安裝吧。開啟cmd命令列介面輸入 pip install p...

PyQt5 學習筆記

pyqt5是由一系列python模組組成。超過620個類,6000函式和方法。能在諸如unix windows和mac os等主流作業系統上執行。pyqt5有兩種證書,gpl和商業證書。pyqt5類分為很多模組,主要模組有 qtcore 包含了核心的非gui的功能。主要和時間 檔案與資料夾 各種資料...