欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python3+PyQt5+Qt Designer實(shí)現(xiàn)界面可視化

 更新時(shí)間:2021年06月10日 10:13:53   作者:清晨的光明  
本文主要介紹了python3+PyQt5+Qt Designer實(shí)現(xiàn)界面可視化,Qt Designer,用鼠標(biāo)拖拖就能完成窗體設(shè)計(jì),感興趣的可以了解一下

前言

       以前制作一個(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è)東西:PyQt5PyQt5-tools

安裝PyQt5:打開CMD或者PowerShell,在命令窗中輸入

pip install PyQt5

執(zhí)行結(jié)果如下:

 安裝PyQt5-tools:打開CMD或者PowerShell,在命令窗中輸入

pip install PyQt5-tools

執(zhí)行結(jié)果如下:

 2.配置開發(fā)工具

        安裝完Qt Designer后,我們利用PyCharm進(jìn)行界面開發(fā),下面進(jìn)行Qt開發(fā)工具的配置。

在PyCharm中依次打開:File→Settings 彈出Settings對話框,如下圖

 然后按下圖的4個(gè)步驟,打開Create Tools對話窗:

這里需要配置兩個(gè)

(1)配置QTDesigner,用來打開QT可視化開發(fā)工具

 如下圖,分別在NameProgram、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開發(fā)工具生成的.ui文件轉(zhuǎn)換為.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$

至此,安裝和配置過程全部結(jié)束,下面介紹簡單的使用教程。

 3.使用Qt Designer設(shè)計(jì)界面  

在PyCharm中創(chuàng)建一個(gè)項(xiàng)目,然后點(diǎn)擊“Tools”--“External Tools”--“QTDesinger”打開QT Desinger,如下圖:

 在New Form對話框里選擇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)了如下界面,在對話框左側(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)容如下:

 5.編寫邏輯代碼

       界面與業(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 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)
 
    #實(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.html
https://www.cnblogs.com/lsdb/p/9122425.html
http://www.dbjr.com.cn/article/167015.htm

到此這篇關(guān)于python3+PyQt5+Qt Designer實(shí)現(xiàn)界面可視化的文章就介紹到這了,更多相關(guān)python3 界面可視化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 實(shí)現(xiàn)黑客帝國中的字符雨的示例代碼

    Python 實(shí)現(xiàn)黑客帝國中的字符雨的示例代碼

    這篇文章主要介紹了Python 實(shí)現(xiàn)黑客帝國中的字符雨的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Python中的賦值、淺拷貝、深拷貝介紹

    Python中的賦值、淺拷貝、深拷貝介紹

    這篇文章主要介紹了Python中的賦值、淺拷貝、深拷貝介紹,Python中也分為簡單賦值、淺拷貝、深拷貝這幾種“拷貝”方式,需要的朋友可以參考下
    2015-03-03
  • python石頭剪刀布小游戲(三局兩勝制)

    python石頭剪刀布小游戲(三局兩勝制)

    這篇文章主要為大家詳細(xì)介紹了python石頭剪刀布小游,三局兩勝制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Python實(shí)現(xiàn)Linux命令xxd -i功能

    Python實(shí)現(xiàn)Linux命令xxd -i功能

    這篇文章主要介紹了Python實(shí)現(xiàn)Linux命令xxd -i功能的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • Mac系統(tǒng)中Anaconda環(huán)境配置Python json庫的方法詳解

    Mac系統(tǒng)中Anaconda環(huán)境配置Python json庫的方法詳解

    這篇文章主要為大家介紹了如何在Mac電腦的Anaconda環(huán)境中,配置Python語言中,用以編碼、解碼、處理JSON數(shù)據(jù)的json庫,需要的小伙伴可以參考下
    2023-08-08
  • Python批量將圖片灰度化的實(shí)現(xiàn)代碼

    Python批量將圖片灰度化的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Python批量將圖片灰度化的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 用Python將庫打包發(fā)布到pypi

    用Python將庫打包發(fā)布到pypi

    這篇文章主要介紹了用Python將庫打包發(fā)布到pypi,文中有很詳細(xì)的代碼作參考,對正在學(xué)習(xí)python的小伙伴們有很好的學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-04-04
  • Python格式化輸出的具體實(shí)現(xiàn)

    Python格式化輸出的具體實(shí)現(xiàn)

    本文主要介紹了Python格式化輸出的具體實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 八大排序算法的Python實(shí)現(xiàn)

    八大排序算法的Python實(shí)現(xiàn)

    這篇文章主要介紹了八大排序算法的Python實(shí)現(xiàn),對八大排序算法進(jìn)行詳細(xì)描述和代碼實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • pandas.concat實(shí)現(xiàn)DataFrame豎著拼接、橫著拼接方式

    pandas.concat實(shí)現(xiàn)DataFrame豎著拼接、橫著拼接方式

    這篇文章主要介紹了pandas.concat實(shí)現(xiàn)DataFrame豎著拼接、橫著拼接方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10

最新評論