python3+PyQt5+Qt Designer實現界面可視化
前言
以前制作一個Python窗體界面,我都是用GUI窗口視窗設計的模塊Tkinter一點一點敲出來的,今天朋友問我有沒有Python窗體的設計工具,“用鼠標拖拖”就能完成窗體設計,我查瞭查相關資料,果然有一款好用的工具——Qt Designer。
1.安裝Qt Designer
這裡需要安裝兩個東西:PyQt5和PyQt5-tools:
安裝PyQt5:打開CMD或者PowerShell,在命令窗中輸入
pip install PyQt5
執行結果如下:
安裝PyQt5-tools:打開CMD或者PowerShell,在命令窗中輸入
pip install PyQt5-tools
執行結果如下:
2.配置開發工具
安裝完Qt Designer後,我們利用PyCharm進行界面開發,下面進行Qt開發工具的配置。
在PyCharm中依次打開:File→Settings 彈出Settings對話框,如下圖
然後按下圖的4個步驟,打開Create Tools對話窗:
這裡需要配置兩個:
(1)配置QTDesigner,用來打開QT可視化開發工具
如下圖,分別在Name、Program、Working dirctory填入如下信息:
Name:QTDesigner
Program:D:\ProgramSoftware\Anaconda3\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe
註意:該路徑為你Python安裝路徑下Lib\site-packages\pyqt5_tools文件夾裡
Working dirctory:$FileDir$
(2)配置PyUIC,用來將Qt Designer開發工具生成的.ui文件轉換為.py文件
如下圖,分別在Name、Program、Arguments、Working dirctory填入如下信息:
Name:PyUIC
Program:D:\ProgramSoftware\Anaconda3\Scripts\pyuic5.exe
註意:該路徑為你Python安裝路徑下Scripts文件夾裡
Arguments:$FileName$ -o $FileNameWithoutExtension$.py
Working dirctory:$FileDir$
至此,安裝和配置過程全部結束,下面介紹簡單的使用教程。
3.使用Qt Designer設計界面
在PyCharm中創建一個項目,然後點擊“Tools”–“External Tools”–“QTDesinger”打開QT Desinger,如下圖:
在New Form對話框裡選擇Widget模板,然後點擊創建:
然後就會出現Qt Designer主界面,向Form中分別拖入一個“Push Button”和一個“Text Edit”,如下圖:
指定點擊事件及其響應函數
在工具欄點擊 這個圖標 ,然後光標移動到“PushButton”按鈕上,鼠標左鍵 點擊 “PushButton”按鈕 不要松開,拖動光標 到 按鈕旁邊的任一位置後 再松開鼠標左鍵
隨後就出現瞭如下界面,在對話框左側選中“clicked()”,右側點擊“Edit”
然後點擊綠色“+”按鈕,指定click事件的響應函數,名稱隨意,比如我這裡命名為“pushButton_click()”
(我們這裡隻是指定事件與響應函數的關聯關系,函數是還沒實現的,後邊我們自行實現)
最後,將設計的界面保存。
4.使用PyUIC將文件轉成python代碼
關閉QT Designer回到PyCharm,查看項目,可以看到隻有剛才保存的PyQT_Form.ui文件而且該文件在PyCharm是打不開的,我們需要將這個文件轉成.py代碼才能使用。
選中“PyQT_Form”,在其上點擊鼠標右鍵,到“External Tools”中點擊“PyUIC”
之後再看項目文件,就可以看到多瞭一個“PyQT_Form.py”,雙擊查看其內容如下:
5.編寫邏輯代碼
界面與業務邏輯分離實現:這一步主要實現業務邏輯,也就是點擊登錄和退出按鈕後程序要執行的操作。為瞭後續維護方便,采用界面與業務邏輯相分離來實現。也就是通過創建主程序調用界面文件方式實現。這有2個好處:1.就是實現邏輯清晰。2.後續如果界面或者邏輯需要變更,好維護。新建一個.py文件程序,在裡邊創建一個子類(MyPyQT_Form)繼承PyQT_Form.py中的Ui_Form。具體代碼如下:
import sys from PyQt5 import QtWidgets from PyQT_Form import Ui_Form class MyPyQT_Form(QtWidgets.QWidget,Ui_Form): def __init__(self): super(MyPyQT_Form,self).__init__() self.setupUi(self) #實現pushButton_click()函數,textEdit是我們放上去的文本框的id def pushButton_click(self): self.textEdit.setText("你點擊瞭按鈕") if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) my_pyqt_form = MyPyQT_Form() my_pyqt_form.show() sys.exit(app.exec_())
6.運行
至此,我們終於完成瞭第一個Python界面的設計,好累 ( ̄o ̄) . z Z ,運行效果如下:
參考資料:
https://www.cnblogs.com/lsdb/p/9121903.html
https://www.cnblogs.com/lsdb/p/9122425.html
https://www.jb51.net/article/167015.htm
到此這篇關於python3+PyQt5+Qt Designer實現界面可視化的文章就介紹到這瞭,更多相關python3 界面可視化內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Pycharm安裝PyQt5的詳細教程
- 如何實現在pycharm中將.ui文件轉化為.py文件
- pycharm配置QtDesigner的超詳細方法
- PyCharm安裝配置Qt Designer+PyUIC圖文教程
- 詳解PyCharm使用pyQT5進行GUI開發的基本流程