python3+PyQt5+Qt Designer實(shí)現(xiàn)界面可視化
以前制作一個(gè)Python窗體界面,我都是用GUI窗口視窗設(shè)計(jì)的模塊Tkinter一點(diǎn)一點(diǎn)敲出來的,今天朋友問我有沒有Python窗體的設(shè)計(jì)工具,“用鼠標(biāo)拖拖”就能完成窗體設(shè)計(jì),我查了查相關(guān)資料,果然有一款好用的工具——Qt Designer。
1.安裝Qt Designer這里需要安裝兩個(gè)東西:PyQt5和PyQt5-tools:
安裝PyQt5:打開CMD或者PowerShell,在命令窗中輸入
pip install PyQt5
執(zhí)行結(jié)果如下:
安裝PyQt5-tools:打開CMD或者PowerShell,在命令窗中輸入
pip install PyQt5-tools
執(zhí)行結(jié)果如下:
安裝完Qt Designer后,我們利用PyCharm進(jìn)行界面開發(fā),下面進(jìn)行Qt開發(fā)工具的配置。
在PyCharm中依次打開:File→Settings 彈出Settings對(duì)話框,如下圖
然后按下圖的4個(gè)步驟,打開Create Tools對(duì)話窗:
這里需要配置兩個(gè):
(1)配置QTDesigner,用來打開QT可視化開發(fā)工具
如下圖,分別在Name、Program、Working dirctory填入如下信息:
Name:QTDesigner
Program:D:ProgramSoftwareAnaconda3Libsite-packagespyqt5_toolsQtbindesigner.exe 注意:該路徑為你Python安裝路徑下Libsite-packagespyqt5_tools文件夾里
Working dirctory:$FileDir$
(2)配置PyUIC,用來將Qt Designer開發(fā)工具生成的.ui文件轉(zhuǎn)換為.py文件
如下圖,分別在Name、Program、Arguments、Working dirctory填入如下信息:
Name:PyUIC
Program:D:ProgramSoftwareAnaconda3Scriptspyuic5.exe 注意:該路徑為你Python安裝路徑下Scripts文件夾里
Arguments:$FileName$ -o $FileNameWithoutExtension$.py
Working dirctory:$FileDir$
至此,安裝和配置過程全部結(jié)束,下面介紹簡單的使用教程。
3.使用Qt Designer設(shè)計(jì)界面在PyCharm中創(chuàng)建一個(gè)項(xiàng)目,然后點(diǎn)擊“Tools”--“External Tools”--“QTDesinger”打開QT Desinger,如下圖:
在New Form對(duì)話框里選擇Widget模板,然后點(diǎn)擊創(chuàng)建:
然后就會(huì)出現(xiàn)Qt Designer主界面,向Form中分別拖入一個(gè)“Push Button”和一個(gè)“Text Edit”,如下圖:
指定點(diǎn)擊事件及其響應(yīng)函數(shù)
在工具欄點(diǎn)擊 這個(gè)圖標(biāo) ,然后光標(biāo)移動(dòng)到“PushButton”按鈕上,鼠標(biāo)左鍵 點(diǎn)擊 “PushButton”按鈕 不要松開,拖動(dòng)光標(biāo) 到 按鈕旁邊的任一位置后 再松開鼠標(biāo)左鍵
隨后就出現(xiàn)了如下界面,在對(duì)話框左側(cè)選中“clicked()”,右側(cè)點(diǎn)擊“Edit”
然后點(diǎn)擊綠色“+”按鈕,指定click事件的響應(yīng)函數(shù),名稱隨意,比如我這里命名為“pushButton_click()”(我們這里只是指定事件與響應(yīng)函數(shù)的關(guān)聯(lián)關(guān)系,函數(shù)是還沒實(shí)現(xiàn)的,后邊我們自行實(shí)現(xiàn))
最后,將設(shè)計(jì)的界面保存。
4.使用PyUIC將文件轉(zhuǎn)成python代碼關(guān)閉QT Designer回到PyCharm,查看項(xiàng)目,可以看到只有剛才保存的PyQT_Form.ui文件而且該文件在PyCharm是打不開的,我們需要將這個(gè)文件轉(zhuǎn)成.py代碼才能使用。
選中“PyQT_Form”,在其上點(diǎn)擊鼠標(biāo)右鍵,到“External Tools”中點(diǎn)擊“PyUIC”
之后再看項(xiàng)目文件,就可以看到多了一個(gè)“PyQT_Form.py”,雙擊查看其內(nèi)容如下:
界面與業(yè)務(wù)邏輯分離實(shí)現(xiàn):這一步主要實(shí)現(xiàn)業(yè)務(wù)邏輯,也就是點(diǎn)擊登錄和退出按鈕后程序要執(zhí)行的操作。為了后續(xù)維護(hù)方便,采用界面與業(yè)務(wù)邏輯相分離來實(shí)現(xiàn)。也就是通過創(chuàng)建主程序調(diào)用界面文件方式實(shí)現(xiàn)。這有2個(gè)好處:1.就是實(shí)現(xiàn)邏輯清晰。2.后續(xù)如果界面或者邏輯需要變更,好維護(hù)。新建一個(gè).py文件程序,在里邊創(chuàng)建一個(gè)子類(MyPyQT_Form)繼承PyQT_Form.py中的Ui_Form。具體代碼如下:
import sysfrom PyQt5 import QtWidgetsfrom PyQT_Form import Ui_Form class MyPyQT_Form(QtWidgets.QWidget,Ui_Form): def __init__(self):super(MyPyQT_Form,self).__init__()self.setupUi(self) #實(shí)現(xiàn)pushButton_click()函數(shù),textEdit是我們放上去的文本框的id def pushButton_click(self):self.textEdit.setText('你點(diǎn)擊了按鈕') if __name__ == ’__main__’: app = QtWidgets.QApplication(sys.argv) my_pyqt_form = MyPyQT_Form() my_pyqt_form.show() sys.exit(app.exec_())6.運(yùn)行
至此,我們終于完成了第一個(gè)Python界面的設(shè)計(jì),好累 ( ̄o ̄) . z Z ,運(yùn)行效果如下:
https://www.cnblogs.com/lsdb/p/9121903.htmlhttps://www.cnblogs.com/lsdb/p/9122425.htmlhttps://www.jb51.net/article/167015.htm
到此這篇關(guān)于python3+PyQt5+Qt Designer實(shí)現(xiàn)界面可視化的文章就介紹到這了,更多相關(guān)python3 界面可視化內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. jsp+servlet簡單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))2. Python 實(shí)現(xiàn)勞拉游戲的實(shí)例代碼(四連環(huán)、重力四子棋)3. 一款功能強(qiáng)大的markdown編輯器tui.editor使用示例詳解4. java獲取文件編碼,jsoup獲取html純文本操作5. .Net加密神器Eazfuscator.NET?2023.2?最新版使用教程6. 利用CSS制作3D動(dòng)畫7. python 寫函數(shù)在一定條件下需要調(diào)用自身時(shí)的寫法說明8. 淺談Android Studio導(dǎo)出javadoc文檔操作及問題的解決9. Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法10. 存儲(chǔ)于xml中需要的HTML轉(zhuǎn)義代碼
