成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python 小白的 PyQt5 項(xiàng)目實(shí)戰(zhàn)(1)安裝與環(huán)境配置

Chao / 2012人閱讀

摘要:工具可以直接使用方式安裝和的環(huán)境配置使用集成開發(fā)工具的小白,在安裝庫以后,還要對和進(jìn)行環(huán)境配置,將其集成到中。如果小白的或安裝在其他路徑下,則從對應(yīng)的目錄找到,或者在資源管理器中搜索文件找到安裝路徑。


1. PyQt5 圖形界面開發(fā)工具

1.1 從 CLI 到 GUI

CLI:命令行用戶接口,Command Line User Interface。

  • 早期的 DOS 命令行操作是典型的 CLI 界面,小白開始學(xué)習(xí)計算機(jī)語言編寫的程序通常也是 CLI 界面;
  • 需要記憶操作命令,操作不直觀。

GUI:圖形用戶界面,Graphical User Interface。

  • Windows 操作系統(tǒng),以及 iOS/Android 系統(tǒng)及應(yīng)用軟件都是 GUI 界面;
  • 使用人機(jī)交互的圖形化操作界面,方便直觀。

1.2 Python 平臺的 GUI 開發(fā)工具

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 無縫集成。

1.3 PyQt5 開發(fā)工具

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):

  • 簡單好用
  • 功能強(qiáng)大
  • 跨平臺支持
  • 文檔齊全
  • 穩(wěn)定性高
  • 生態(tài)支持
  • 開源免費(fèi)


2. 安裝 PyQt5 和 QtTools

2.1 安裝 Anaconda3(略)


2.2 安裝 PyCharm,配置運(yùn)行環(huán)境(略)


2.3 pip 安裝 PyQt5

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,將彈出如下的圖形界面:



2.4 pip 安裝 QtTools

雖然安裝 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 包含了兩個重要的工具:

  • 圖形界面設(shè)計工具 Qt Designer,用于設(shè)計圖形界面,生成 .ui文件,以 xml 格式存儲界面和控件的屬性;
  • UI 文件轉(zhuǎn)換工具 PyUic,用于將 .ui 文件解析為 .py 文件的工具。

Qt Tools 工具可以直接使用 pip 方式安裝:

pip install pyqt5-tools  -i https://mirrors.aliuyun.com/pypi/simple


3. QtDesigner 和 PyUIC 的環(huán)境配置

使用 PyCharm 集成開發(fā)工具的小白,在安裝 QtTools 庫以后,還要對 QtDesigner 和 PyUIC 進(jìn)行環(huán)境配置,將其集成到 PyCharm 中。


3.1 在 PyCharm 添加 Create Tools

  • 運(yùn)行 PyCharm;
  • 從頂部菜單欄選擇:File -> Settings,彈出 Seetings 窗口;
  • 從左側(cè)菜單欄中選擇:Tools -> ExternalTools,在右側(cè)點(diǎn)擊 “+” 彈出 CreateTool 窗口;

3.2 添加 QtDesigner 工具



在 CreateTool 窗口依次填寫:

  • Name:填寫 “QtDesigner”
  • Program:填寫 designer.exe 的路徑,例如:

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” 文件找到安裝路徑。

  • Arguments:不用填寫
  • Working directory:填寫生成 UI 文件的保存路徑
    例如,要將 .ui 文件保存在當(dāng)前 Project 的路徑下,則填寫 “$ProjectFileDir$”;要將 .ui 文件保存在當(dāng)前 Project 路徑下的 /program 子目錄中,則填寫 “$ProjectFileDir$/program”。

填好 CreateTool 窗口后,點(diǎn)擊 “OK” 即可完成 QtDesigner 工具的添加。


3.3 添加 PyUIC 工具



在 CreateTool 窗口依次填寫:

  • Name:填寫 “PyUIC”
  • Program:填寫 python.exe 的路徑,例如:

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 的路徑。

  • Arguments:填寫"-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py”
  • Working directory:填寫將 .ui 文件轉(zhuǎn)換為 .py 文件的保存路徑
    例如,要將 .py 文件保存在當(dāng)前 Project 的路徑下,則填寫 “$ProjectFileDir$”;要將 .py 文件保存在當(dāng)前 Project 路徑下的 /program 子目錄中,則填寫 “$ProjectFileDir$/program”。

填好 CreateTool 窗口后,點(diǎn)擊 “OK” 即可完成 QtDesigner 工具的添加。

安裝和環(huán)境配置完成。



4. QtDesigner 和 PyUIC 的快速入門

使用 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ì)講解每一個步驟的操作。


4.1 QtDesigner 的啟動和入門

(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形窗口添加幾個圖形控件:



新建一個按鈕控件:

  • 從左側(cè)控件欄的 Button 中選擇 PushButton 按鈕,鼠標(biāo)左鍵點(diǎn)中 PushButton 按鈕不放,移動鼠標(biāo)將 PushButton 按鈕拖動到中間的新建圖形窗口內(nèi)的任意位置,松開鼠標(biāo)左鍵,就在圖形窗口位置生成了一個 PushButton 按鈕對象。
  • 鼠標(biāo)左鍵點(diǎn)擊圖形窗口中的這個 PushButton 按鈕對象,拖動按鈕可以調(diào)整控件的位置,對于其它控件也可以通過鼠標(biāo)拖動來調(diào)整位置。
  • 鼠標(biāo)選中 PushButton 按鈕對象,控件周圍的邊界位置上就出現(xiàn) 8個藍(lán)色的點(diǎn),表示控件被選中,這時可以在右側(cè)的 “屬性編輯器” 內(nèi)對對象的屬性進(jìn)行編輯和修改,例如:
    • 將 PushButton 對象的高度修改為 120,寬度修改為 40;
    • 將 PushButton 對象的 “QAbstractButton->text” 修改為 “測試按鈕”;

新建一個文本顯示框控件:

  • 從左側(cè)控件欄的 InputWidget 中選擇 TextEdit 按鈕,鼠標(biāo)左鍵選中 TextEdit 按鈕拖動到新建圖形窗口內(nèi)的,松開鼠標(biāo)左鍵就在圖形窗口生成了一個 TextEdit 對象。
  • 鼠標(biāo)選中 TextEdit 對象,在右側(cè)的 “屬性編輯器” 內(nèi)可以對對象的屬性進(jìn)行編輯和修改,例如:
    • 將 TextEdit 對象的高度修改為 300,寬度修改為 200;
    • 對于 TextEdit 對象的顯示內(nèi)容可以用 html、markdown 等格式編輯,也可以鼠標(biāo)雙擊 TextEdit 對象喚出 html 編輯對話框,輸入希望顯示的內(nèi)容。

現(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è)置和使用正確的路徑。


4.2 PyUIC 的使用

(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 文件。


4.3 編寫 Python 應(yīng)用程序調(diào)用圖形界面

我們編寫一個主程序調(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

相關(guān)文章

  • PyQt5+eric6之旅(一) - 簡介安裝配置過程

    摘要:最近想做一個實(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)該很好上手,然而,在嘗試了幾次之后,徹底放棄了這個想...

    王偉廷 評論0 收藏0
  • 2021愛智先行者—(2)零基礎(chǔ)APP開發(fā)實(shí)例

    摘要:有鑒于此,本文以未安裝工具軟件的計算機(jī)未激活的愛智設(shè)備為例,實(shí)戰(zhàn)解說零基礎(chǔ)小白的愛智開發(fā)過程。愛智設(shè)備斷開互聯(lián)網(wǎng)也可以運(yùn)行,但本文中的開發(fā)部署等功能無法操作。 【本...

    paney129 評論0 收藏0
  • 第7期 Datawhale 組隊學(xué)習(xí)計劃

    馬上就要開始啦這次共組織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/...

    dinfer 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<