PyQt5使用QtDesigner實現多界面切換程序的全過程
一、首先要安裝QtDesigner
具體安裝步驟在此不做贅述,若是有需要的小伙伴可以去找一找教程。
二、簡單介紹QtDesigner
各位伙伴安裝完成打開之后的界面類似如下圖(Windows版本),圖片中已經對各個區(qū)域及其作用進行簡單介紹,具體用法會在下面繼續(xù)講解。
三、使用QtDesigner做簡單界面
1.按照如下步驟,創(chuàng)建一個項目,開始添加控件以及設置相應的各項屬性。
2.打開的窗口如下,通過控件屬性修改區(qū)域設置窗口的標題和圖標
我們雙擊修改屬性將窗口標題修改為:W_1,關于窗口圖標的設置會在后邊介紹導入本地資源文件時詳細講解。
此處我們暫時略過·······
3.為窗口添加控件(如Label(標簽)、Button(按鈕)等)
我們通過拖動要添加的控件Label、Push Button到創(chuàng)建的窗口區(qū)域來實現添加,添加成功之后,雙擊即可以修改其中的內容,同時在空間的總覽區(qū)域,我們可以選中相應的控件名稱雙擊修改成為我們要設置成為的名稱,在此處我們將Label和Push Button的名稱分別設置為:label_1和btn_1方便我們之后在程序中的調用;在控件屬性的修改區(qū)域,我們找到font相關的屬性,通過Point Size設置字體的大小,勾選Bold選項表示設置字體為粗體。到此,我們第一個窗口的基本控件及其屬性已經修改完成,點擊保存按鈕選擇路徑,設置文件名稱將文件保存到預期文件夾中(注意保存格式為.ui)
4.保存設置好的文件
選擇好文件保存的路徑,將文件命名修改為與窗口名稱一致(建議,防止寫代碼的時候搞不清楚文件對應的窗口)
5.重復上述操作,設置另外需要的三個子窗口模板以及第一的菜單窗口模板。
相關流程如下:
關于創(chuàng)建菜單主窗口,我們需要為其添加四個按鈕對應四個子窗口,同時按照用戶習慣我們添加一個退出程序的按鈕,關于四個按鈕的布局我們可以添加一個horizontal Layout(水平布局器)將按鈕加入到布局器中,這樣子,四個按鈕就會在布局器區(qū)域內均勻分布且大小相同。至此,我們關于QtDesigner的操作已經結束,下面要開始Python的編程階段。
四、Python編寫程序實現界面切換功能
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")雙引號里邊的內容是為對應的UI文件的存儲路徑,根據自己文件的存儲路徑自行修改。
五、程序運行效果
總結
到此這篇關于PyQt5使用QtDesigner實現多界面切換程序的文章就介紹到這了,更多相關PyQt5多界面切換程序內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python 中如何使用 virtualenv 管理虛擬環(huán)境
這篇文章主要介紹了Python 中使用 virtualenv 管理虛擬環(huán)境的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01Python使用get_text()方法從大段html中提取文本的實例
今天小編就為大家分享一篇Python使用get_text()方法從大段html中提取文本的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08Python使用tkinter模塊實現GUI界面的學生信息管理系統(tǒng)流程分步詳解
這篇文章主要為大家詳細介紹了python實現簡易學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2023-01-01