我們在第〇篇裡先演示了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 *first_guiimport
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()
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的功能。主要和時間 檔案與資料夾 各種資料...