摘要:工具可以直接使用方式安裝和的環(huán)境配置使用集成開發(fā)工具的小白,在安裝庫以后,還要對和進(jìn)行環(huán)境配置,將其集成到中。如果小白的或安裝在其他路徑下,則從對應(yīng)的目錄找到,或者在資源管理器中搜索文件找到安裝路徑。
CLI:命令行用戶接口,Command Line User Interface。
GUI:圖形用戶界面,Graphical User Interface。
Python 提供了多個 GUI 開發(fā)工具,常用的有:
Pyqt:是一套通用的 GUI 框架,是 Python 與 Qt 庫的融合,可以在 Windows / Macintosh / Unix 操作系統(tǒng)上運(yùn)行。配套界面設(shè)計工具 QtDesigner,使用便捷,功能豐富。
Tkinter:標(biāo)準(zhǔn) Tk GUI 接口,內(nèi)置在 python 的安裝包中??梢詰?yīng)用于 Windows / Macintosh / Unix 系統(tǒng),適合開發(fā)簡單的圖形界面。
wxPython:優(yōu)秀的 GUI 圖形庫,可以創(chuàng)建完整的、功能健全的 GUI 用戶界面。
Jython:幾乎擁有 Python 中不依賴于 C 語言的全部模塊,可以與與 Java 無縫集成。
Qt 庫是跨平臺的 C++ 庫的集合,是最強(qiáng)大的 GUI 庫之一,可以實(shí)現(xiàn)高級 API 來訪問桌面和移動系統(tǒng)的各種服務(wù)。
PyQt5 是一套 Python 綁定 Digia QT5 應(yīng)用的框架。PyQt5 實(shí)現(xiàn)了一個 Python模塊集,有 620 個類,6000 個函數(shù)和方法。
PyQt5 的優(yōu)點(diǎn):
pip install pyqt5 -i https://mirrors.aliuyun.com/pypi/simple
安裝了 PyQt5 就可以用 Python 語言編寫 Qt 程序。
確實(shí)可以,網(wǎng)上有很多相關(guān)的教程,我也學(xué)習(xí)和編寫了幾個這樣的 GUI。
例如,可以用一個簡單的例程,檢測 PyQt5 的安裝是否成功。
# GUIdemo1.py# Demo1 of GUI by PqYt5# Copyright 2021 Youcans, XUPT# Crated:2021-10-06from PyQt5 import QtWidgetsimport sysif __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) # 初始化界面 MainWindow = QtWidgets.QWidget() # 生成一個主窗口 MainWindow.show() # 顯示主窗口 sys.exit(app.exec_()) # 在主線程中退出
運(yùn)行程序 GUIdemo1,將彈出如下的圖形界面:
雖然安裝 PyQt5 就可以編程實(shí)現(xiàn) GUI,但是學(xué)習(xí)、編程、調(diào)試、修改都是相當(dāng)復(fù)雜和繁瑣的。而 Qt Designer 基本是通過人機(jī)交互的排版方式進(jìn)行界面設(shè)計,非常方便、直觀。所以我在使用 Qt Designer 圖形界面設(shè)計工具之后,就再也不愿意編寫 Python 程序來實(shí)現(xiàn) GUI 了。
Qt Tools 包含了兩個重要的工具:
Qt Tools 工具可以直接使用 pip 方式安裝:
pip install pyqt5-tools -i https://mirrors.aliuyun.com/pypi/simple
使用 PyCharm 集成開發(fā)工具的小白,在安裝 QtTools 庫以后,還要對 QtDesigner 和 PyUIC 進(jìn)行環(huán)境配置,將其集成到 PyCharm 中。
在 CreateTool 窗口依次填寫:
C:/Python/Anaconda3/Lib/site-packages/qt5_applications/Qt/bin/designer.exe
注意:此處填寫剛才 pip 安裝的 pyqt5-tools 工具包的路徑。如果小白的 Python 或 Anaconda3 安裝在其他路徑下,則從對應(yīng)的目錄找到 “qt5_applications/Qt/bin/designer.exe”,或者在資源管理器中搜索 “designer.exe” 文件找到安裝路徑。
填好 CreateTool 窗口后,點(diǎn)擊 “OK” 即可完成 QtDesigner 工具的添加。
在 CreateTool 窗口依次填寫:
C:/Python/Anaconda3/python.exe
注意:此處填寫 IDE 使用的 Python Interpreter的路徑。如果小白的 Python 或 Anaconda3 安裝在其他路徑下,或者選擇其它路徑中的 python.exe 作為 Python Interpreter,可以從 Pycharm -> Settings -> Project -> Python Interpreter 打開配置窗口,從右側(cè)上方 “Python Interpreter:” 選項(xiàng)框找到 python.exe 的路徑。
填好 CreateTool 窗口后,點(diǎn)擊 “OK” 即可完成 QtDesigner 工具的添加。
安裝和環(huán)境配置完成。
使用 QtDesigner 開發(fā) PyQt5 圖形界面的基本步驟是:
(1)使用圖形界面設(shè)計工具 QtDesigner 進(jìn)行圖形界面設(shè)計,生成 .ui 文件;
(2)使用 UI 轉(zhuǎn)換工具 PyUIC 將 .ui 文件轉(zhuǎn)換為 .py 文件;
(3)編寫一個 Python 應(yīng)用程序調(diào)用 .py 界面文件,就可以實(shí)現(xiàn) Python 平臺的 GUI 編程。
雖然這些步驟看起來有些羅嗦,其實(shí)是非常簡單方便的。下面我們用一個簡單的例程詳細(xì)講解每一個步驟的操作。
(1)- 運(yùn)行 PyCharm,打開建立的 Python Project,例如 Project 為 PyqtDemo。
(2)- 從頂部菜單欄選擇:Tools -> ExternalTools -> QtDesigner,彈出如下的 QtDesigner 運(yùn)行窗口。
(3)- 新建窗體
首次運(yùn)行 QtDesigner 時可能會自動彈出 “新建窗體” 對話框,也可以通過菜單欄選擇:“文件 -> 新建” 或快捷鍵 “Ctrl+N” 喚起 “新建窗體” 對話框。
在 “新建窗體” 窗口的左側(cè)菜單選擇 “MainWindow” 新建一個圖形窗口。
(4)- 設(shè)計圖形界面
QtDesigner 的使用界面與 AutoCAD 等設(shè)計軟件類似,很好上手。
主界面分左中右三部分,左側(cè)是各種備選的控件對象,右側(cè)上方的 “對象查看器” 顯示控件的樹狀結(jié)構(gòu),右側(cè)下方的 “屬性編輯器” 顯示控件的各種屬性,中間部分用于顯示所設(shè)計的界面。
新建的窗口 “MainWindow” 雖然是一個空白的圖形窗口,但已經(jīng)生成了 centralwidget、menubar、statusbar 三個基本控件,可以在右側(cè)上方 “對象查看器” 查看這些控件及結(jié)構(gòu)。
下面我們?yōu)樾陆ǖ膱D形窗口添加幾個圖形控件:
新建一個按鈕控件:
新建一個文本顯示框控件:
現(xiàn)在,我們就已經(jīng)用 QtDesigner 完成了一個基本的圖形界面。
(5)- 將設(shè)計的圖形界面保存為 .ui文件
保存文件就不贅述了,菜單、工具按鈕和快捷鍵都可以,例如保存為 uiDemo1.ui。
注意文件的保存路徑,默認(rèn)保存在添加 QtDesigner 工具時 “Working directory” 所設(shè)置的路徑,當(dāng)然也可以另存到其它路徑。
本文 3.2 添加 QtDesigner 工具 中 “Working directory” 填寫 “$ProjectFileDir$/program”,默認(rèn)將 .ui 文件保存在當(dāng)前 Project 路徑下的 /program 子目錄中。
本文的項(xiàng)目默認(rèn)設(shè)置將 .py 文件也保存在當(dāng)前 Project 路徑下的 /program 子目錄中,在應(yīng)用程序編程時就可以直接導(dǎo)入圖形界面文件。
如果 PyChrm 或 QtDesigner 設(shè)置的文件保存路徑不同,要注意導(dǎo)入圖形界面文件時設(shè)置和使用正確的路徑。
(1)- 運(yùn)行 PyCharm,打開 Python Project,剛才用 QtDesigner 建立的 uiDemo1.ui 文件顯示在左側(cè) Project -> PyqtDemo -> program 顯示框中。
如果該 .ui 文件沒有顯示,說明環(huán)境變量路徑設(shè)置不同,可以重新設(shè)置,也可以在保存 .ui 文件時另存到當(dāng)前 Project 路徑下的 /program 子目錄中。
(2)- 鼠標(biāo)選中 .ui 文件,點(diǎn)擊鼠標(biāo)右鍵喚出下拉菜單,選擇:ExternalTools -> PyUIC,點(diǎn)擊鼠標(biāo)左鍵運(yùn)行,PyUIC 將選中的 .ui 文件轉(zhuǎn)換為 .py 文件,在該路徑生成 uiDemo1.py 文件。
我們編寫一個主程序調(diào)用設(shè)計的圖形界面 uiDemo1.py,就可以完成一個圖形界面應(yīng)用程序。
# GUIdemo2.py# Demo2 of GUI by PqYt5# Copyright 2021 Youcans, XUPT# Crated:2021-10-06from PyQt5.QtWidgets import QApplication, QMainWindowimport sysimport uiDemo1if __name__ == "__main__": app = QApplication(sys.argv) # 創(chuàng)建應(yīng)用程序?qū)ο?/span> MainWindow = QMainWindow() # 創(chuàng)建主窗口 ui = uiDemo1.Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() # 顯示主窗口 sys.exit(app.exec_()) # 在主線程中退出
在主程序 GUIdemo2.py 中,我們通過 “import uiDemo1” 導(dǎo)入了 圖形界面 uiDemo1.py。
運(yùn)行程序 GUIdemo2,將彈出如下的圖形界面:
如果你能得到這個圖形界面,就說明 Pyqt5 和 QtTools 已經(jīng)安裝成功、配置正確了。
不過,GUIdemo2 中的按鈕和點(diǎn)擊之后并沒有任何反應(yīng),這是因?yàn)槲覀冞€沒有設(shè)置這些控件所觸發(fā)的動作和應(yīng)用。
在以后的程序中,我們將不斷增加和豐富這個圖形界面應(yīng)用程序。
【本節(jié)完】
版權(quán)聲明:
歡迎關(guān)注『Python 小白的 PyQt5 項(xiàng)目實(shí)戰(zhàn) @ youcans』 原創(chuàng)作品
原創(chuàng)作品,轉(zhuǎn)載必須標(biāo)注原文鏈接:https://blog.csdn.net/youcans/article/details/120640342
Copyright 2021 youcans, XUPT
Crated:2021-10-06
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/121767.html
摘要:最近想做一個實(shí)用的圖形界面用于查看實(shí)時日志本來是準(zhǔn)備用開發(fā)原本以為功能簡單應(yīng)該很好上手然而在嘗試了幾次之后徹底放棄了這個想法首先太老了看上去像是上個世紀(jì)的應(yīng)用界面丑陋這是其一如果只是這樣還可以接受然而實(shí)際編寫過程中發(fā)現(xiàn)也不是那么友好優(yōu)質(zhì)文檔 最近想做一個實(shí)用的圖形界面用于查看實(shí)時日志,本來是準(zhǔn)備用tkinter開發(fā),原本以為功能簡單應(yīng)該很好上手,然而,在嘗試了幾次之后,徹底放棄了這個想...
摘要:有鑒于此,本文以未安裝工具軟件的計算機(jī)未激活的愛智設(shè)備為例,實(shí)戰(zhàn)解說零基礎(chǔ)小白的愛智開發(fā)過程。愛智設(shè)備斷開互聯(lián)網(wǎng)也可以運(yùn)行,但本文中的開發(fā)部署等功能無法操作。 【本...
馬上就要開始啦這次共組織15個組隊學(xué)習(xí) 涵蓋了AI領(lǐng)域從理論知識到動手實(shí)踐的內(nèi)容 按照下面給出的最完備學(xué)習(xí)路線分類 難度系數(shù)分為低、中、高三檔 可以按照需要參加 - 學(xué)習(xí)路線 - showImg(https://segmentfault.com/img/remote/1460000019082128); showImg(https://segmentfault.com/img/remote/...
閱讀 1475·2021-11-22 14:44
閱讀 2851·2021-11-16 11:44
閱讀 3219·2021-10-13 09:40
閱讀 2013·2021-10-08 10:04
閱讀 2374·2021-09-24 10:28
閱讀 2921·2021-09-06 15:02
閱讀 2971·2019-08-30 15:52
閱讀 2409·2019-08-30 13:20