PyQt5使用QtDesigner實(shí)現(xiàn)多界面切換程序的全過(guò)程
一、首先要安裝QtDesigner
具體安裝步驟在此不做贅述,若是有需要的小伙伴可以去找一找教程。
二、簡(jiǎn)單介紹QtDesigner
各位伙伴安裝完成打開(kāi)之后的界面類(lèi)似如下圖(Windows版本),圖片中已經(jīng)對(duì)各個(gè)區(qū)域及其作用進(jìn)行簡(jiǎn)單介紹,具體用法會(huì)在下面繼續(xù)講解。
三、使用QtDesigner做簡(jiǎn)單界面
1.按照如下步驟,創(chuàng)建一個(gè)項(xiàng)目,開(kāi)始添加控件以及設(shè)置相應(yīng)的各項(xiàng)屬性。
2.打開(kāi)的窗口如下,通過(guò)控件屬性修改區(qū)域設(shè)置窗口的標(biāo)題和圖標(biāo)
我們雙擊修改屬性將窗口標(biāo)題修改為:W_1,關(guān)于窗口圖標(biāo)的設(shè)置會(huì)在后邊介紹導(dǎo)入本地資源文件時(shí)詳細(xì)講解。
此處我們暫時(shí)略過(guò)·······
3.為窗口添加控件(如Label(標(biāo)簽)、Button(按鈕)等)
我們通過(guò)拖動(dòng)要添加的控件Label、Push Button到創(chuàng)建的窗口區(qū)域來(lái)實(shí)現(xiàn)添加,添加成功之后,雙擊即可以修改其中的內(nèi)容,同時(shí)在空間的總覽區(qū)域,我們可以選中相應(yīng)的控件名稱(chēng)雙擊修改成為我們要設(shè)置成為的名稱(chēng),在此處我們將Label和Push Button的名稱(chēng)分別設(shè)置為:label_1和btn_1方便我們之后在程序中的調(diào)用;在控件屬性的修改區(qū)域,我們找到font相關(guān)的屬性,通過(guò)Point Size設(shè)置字體的大小,勾選Bold選項(xiàng)表示設(shè)置字體為粗體。到此,我們第一個(gè)窗口的基本控件及其屬性已經(jīng)修改完成,點(diǎn)擊保存按鈕選擇路徑,設(shè)置文件名稱(chēng)將文件保存到預(yù)期文件夾中(注意保存格式為.ui)
4.保存設(shè)置好的文件
選擇好文件保存的路徑,將文件命名修改為與窗口名稱(chēng)一致(建議,防止寫(xiě)代碼的時(shí)候搞不清楚文件對(duì)應(yīng)的窗口)
5.重復(fù)上述操作,設(shè)置另外需要的三個(gè)子窗口模板以及第一的菜單窗口模板。
相關(guān)流程如下:
關(guān)于創(chuàng)建菜單主窗口,我們需要為其添加四個(gè)按鈕對(duì)應(yīng)四個(gè)子窗口,同時(shí)按照用戶(hù)習(xí)慣我們添加一個(gè)退出程序的按鈕,關(guān)于四個(gè)按鈕的布局我們可以添加一個(gè)horizontal Layout(水平布局器)將按鈕加入到布局器中,這樣子,四個(gè)按鈕就會(huì)在布局器區(qū)域內(nèi)均勻分布且大小相同。至此,我們關(guān)于QtDesigner的操作已經(jīng)結(jié)束,下面要開(kāi)始Python的編程階段。
四、Python編寫(xiě)程序?qū)崿F(xiàn)界面切換功能
from PyQt5 import uic import sys from PyQt5.QtWidgets import QWidget, QApplication class Window_0(QWidget): def __init__(self): super(Window_0, self).__init__() self.init_ui() def init_ui(self): self.Firstui = uic.loadUi("UI文件/模板/W_0.ui") self.btn_w1 = self.Firstui.btn_w1 self.btn_w2 = self.Firstui.btn_w2 self.btn_w3 = self.Firstui.btn_w3 self.btn_w4 = self.Firstui.btn_w4 self.btn_quit = self.Firstui.btn_quit class Window_1(QWidget): def __init__(self): super(Window_1, self).__init__() self.init_ui_1() def init_ui_1(self): self.ui_1 = uic.loadUi("UI文件/模板/W_1.ui") self.btn_1 = self.ui_1.btn_1 class Window_2(QWidget): def __init__(self): super(Window_2, self).__init__() self.init_ui_2() def init_ui_2(self): self.ui_2 = uic.loadUi("UI文件/模板/W_2.ui") self.btn_2 = self.ui_2.btn_2 class Window_3(QWidget): def __init__(self): super(Window_3, self).__init__() self.init_ui_3() def init_ui_3(self): self.ui_3 = uic.loadUi("UI文件/模板/W_3.ui") self.btn_3 = self.ui_3.btn_3 class Window_4(QWidget): def __init__(self): super(Window_4, self).__init__() self.init_ui_4() def init_ui_4(self): self.ui_4 = uic.loadUi("UI文件/模板/W_4.ui") self.btn_4 = self.ui_4.btn_4 if __name__ == '__main__': app = QApplication(sys.argv) w_0 = Window_0() w_1 = Window_1() w_2 = Window_2() w_3 = Window_3() w_4 = Window_4() w_0.Firstui.show() w_0.btn_w1.clicked.connect(w_1.ui_1.show) w_0.btn_w2.clicked.connect(w_2.ui_2.show) w_0.btn_w3.clicked.connect(w_3.ui_3.show) w_0.btn_w4.clicked.connect(w_4.ui_4.show) w_0.btn_quit.clicked.connect(app.quit) app.exec_()
注意:uic.loadUi("UI文件/模板/W_0.ui")雙引號(hào)里邊的內(nèi)容是為對(duì)應(yīng)的UI文件的存儲(chǔ)路徑,根據(jù)自己文件的存儲(chǔ)路徑自行修改。
五、程序運(yùn)行效果
總結(jié)
到此這篇關(guān)于PyQt5使用QtDesigner實(shí)現(xiàn)多界面切換程序的文章就介紹到這了,更多相關(guān)PyQt5多界面切換程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 詳解PyCharm+QTDesigner+PyUIC使用教程
- PyQt 圖解Qt Designer工具的使用方法
- python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5 Qt Designer工具(Qt設(shè)計(jì)師)詳細(xì)使用方法及Designer ui文件轉(zhuǎn)py文件方法
- python之PySide2安裝使用及QT Designer UI設(shè)計(jì)案例教程
- Qt Designer的簡(jiǎn)單使用方法
- PyQT5之使用QT?Designer創(chuàng)建基本窗口方式
- Pyside6開(kāi)發(fā)使用Qt?Designer的示例代碼
- 使用Qt Designer開(kāi)發(fā)的實(shí)現(xiàn)示例
相關(guān)文章
Python 中如何使用 virtualenv 管理虛擬環(huán)境
這篇文章主要介紹了Python 中使用 virtualenv 管理虛擬環(huán)境的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01Python給exe添加以管理員運(yùn)行的屬性方法詳解
這篇文章主要為大家介紹了Python給exe添加以管理員運(yùn)行的屬性方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12Django實(shí)現(xiàn)將一個(gè)字典傳到前端顯示出來(lái)
這篇文章主要介紹了Django實(shí)現(xiàn)將一個(gè)字典傳到前端顯示出來(lái),具有很好的參考價(jià)值,希望2020-04-04Python使用get_text()方法從大段html中提取文本的實(shí)例
今天小編就為大家分享一篇Python使用get_text()方法從大段html中提取文本的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08Python實(shí)現(xiàn)將MySQL數(shù)據(jù)庫(kù)查詢(xún)結(jié)果導(dǎo)出到Excel
在實(shí)際工作中,我們經(jīng)常需要將數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)出到Excel表格中進(jìn)行進(jìn)一步的分析和處理,Python中的pymysql和xlsxwriter庫(kù)提供了很好的解決方案,下面我們就來(lái)看看具體操作方法吧2023-11-11Python使用tkinter模塊實(shí)現(xiàn)GUI界面的學(xué)生信息管理系統(tǒng)流程分步詳解
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)易學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-01-01Python合并Excel表(多sheet)的實(shí)現(xiàn)
這篇文章主要介紹了Python合并Excel表(多sheet)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04