PyQt5使用QtDesigner實現(xiàn)多界面切換程序的全過程
一、首先要安裝QtDesigner
具體安裝步驟在此不做贅述,若是有需要的小伙伴可以去找一找教程。
二、簡單介紹QtDesigner
各位伙伴安裝完成打開之后的界面類似如下圖(Windows版本),圖片中已經(jīng)對各個區(qū)域及其作用進行簡單介紹,具體用法會在下面繼續(xù)講解。

三、使用QtDesigner做簡單界面
1.按照如下步驟,創(chuàng)建一個項目,開始添加控件以及設置相應的各項屬性。

2.打開的窗口如下,通過控件屬性修改區(qū)域設置窗口的標題和圖標

我們雙擊修改屬性將窗口標題修改為:W_1,關于窗口圖標的設置會在后邊介紹導入本地資源文件時詳細講解。
此處我們暫時略過·······
3.為窗口添加控件(如Label(標簽)、Button(按鈕)等)

我們通過拖動要添加的控件Label、Push Button到創(chuàng)建的窗口區(qū)域來實現(xiàn)添加,添加成功之后,雙擊即可以修改其中的內(nèi)容,同時在空間的總覽區(qū)域,我們可以選中相應的控件名稱雙擊修改成為我們要設置成為的名稱,在此處我們將Label和Push Button的名稱分別設置為:label_1和btn_1方便我們之后在程序中的調(diào)用;在控件屬性的修改區(qū)域,我們找到font相關的屬性,通過Point Size設置字體的大小,勾選Bold選項表示設置字體為粗體。到此,我們第一個窗口的基本控件及其屬性已經(jīng)修改完成,點擊保存按鈕選擇路徑,設置文件名稱將文件保存到預期文件夾中(注意保存格式為.ui)
4.保存設置好的文件
選擇好文件保存的路徑,將文件命名修改為與窗口名稱一致(建議,防止寫代碼的時候搞不清楚文件對應的窗口)

5.重復上述操作,設置另外需要的三個子窗口模板以及第一的菜單窗口模板。
相關流程如下:


關于創(chuàng)建菜單主窗口,我們需要為其添加四個按鈕對應四個子窗口,同時按照用戶習慣我們添加一個退出程序的按鈕,關于四個按鈕的布局我們可以添加一個horizontal Layout(水平布局器)將按鈕加入到布局器中,這樣子,四個按鈕就會在布局器區(qū)域內(nèi)均勻分布且大小相同。至此,我們關于QtDesigner的操作已經(jīng)結(jié)束,下面要開始Python的編程階段。
四、Python編寫程序?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")雙引號里邊的內(nèi)容是為對應的UI文件的存儲路徑,根據(jù)自己文件的存儲路徑自行修改。
五、程序運行效果

總結(jié)
到此這篇關于PyQt5使用QtDesigner實現(xiàn)多界面切換程序的文章就介紹到這了,更多相關PyQt5多界面切換程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python 中如何使用 virtualenv 管理虛擬環(huán)境
這篇文章主要介紹了Python 中使用 virtualenv 管理虛擬環(huán)境的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01
Python使用get_text()方法從大段html中提取文本的實例
今天小編就為大家分享一篇Python使用get_text()方法從大段html中提取文本的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python實現(xiàn)將MySQL數(shù)據(jù)庫查詢結(jié)果導出到Excel
在實際工作中,我們經(jīng)常需要將數(shù)據(jù)庫中的數(shù)據(jù)導出到Excel表格中進行進一步的分析和處理,Python中的pymysql和xlsxwriter庫提供了很好的解決方案,下面我們就來看看具體操作方法吧2023-11-11
Python使用tkinter模塊實現(xiàn)GUI界面的學生信息管理系統(tǒng)流程分步詳解
這篇文章主要為大家詳細介紹了python實現(xiàn)簡易學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2023-01-01
Python合并Excel表(多sheet)的實現(xiàn)
這篇文章主要介紹了Python合并Excel表(多sheet)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04

