【pyqt5學習】——登錄界面跳轉到主界面,登錄界面關閉的情況下從主界面跳轉回登錄界面

目錄

一、登錄界面長下面這樣,由qt designer設計?login.py

二、登錄界面 邏輯代碼loginLogic.py

三、主界面comsumeType.py

?四、主界面邏輯代碼comsumeTypeLogic.py

五、登錄界面跳轉至主界面

六、主界面回到登錄界面


一、登錄界面長下面這樣,由qt designer設計?login.py

?

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'login.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(416, 271)MainWindow.setMinimumSize(QtCore.QSize(416, 271))MainWindow.setMaximumSize(QtCore.QSize(416, 271))self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.label = QtWidgets.QLabel(self.centralwidget)self.label.setGeometry(QtCore.QRect(70, 40, 291, 31))font = QtGui.QFont()font.setPointSize(17)font.setBold(True)font.setWeight(75)self.label.setFont(font)self.label.setAlignment(QtCore.Qt.AlignCenter)self.label.setObjectName("label")self.label_2 = QtWidgets.QLabel(self.centralwidget)self.label_2.setGeometry(QtCore.QRect(80, 110, 101, 21))font = QtGui.QFont()font.setPointSize(11)self.label_2.setFont(font)self.label_2.setObjectName("label_2")self.label_3 = QtWidgets.QLabel(self.centralwidget)self.label_3.setGeometry(QtCore.QRect(80, 150, 61, 21))font = QtGui.QFont()font.setPointSize(11)self.label_3.setFont(font)self.label_3.setObjectName("label_3")self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit.setGeometry(QtCore.QRect(160, 110, 171, 20))self.lineEdit.setObjectName("lineEdit")self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit_2.setGeometry(QtCore.QRect(160, 150, 171, 20))self.lineEdit_2.setObjectName("lineEdit_2")self.pushButton = QtWidgets.QPushButton(self.centralwidget)self.pushButton.setGeometry(QtCore.QRect(100, 200, 81, 31))font = QtGui.QFont()font.setPointSize(11)self.pushButton.setFont(font)self.pushButton.setObjectName("pushButton")self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)self.pushButton_2.setGeometry(QtCore.QRect(240, 200, 81, 31))font = QtGui.QFont()font.setPointSize(11)self.pushButton_2.setFont(font)self.pushButton_2.setObjectName("pushButton_2")MainWindow.setCentralWidget(self.centralwidget)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "歡迎"))self.label.setText(_translate("MainWindow", "管理系統"))self.label_2.setText(_translate("MainWindow", "用戶名:"))self.label_3.setText(_translate("MainWindow", "密  碼:"))self.pushButton.setText(_translate("MainWindow", "登錄"))self.pushButton_2.setText(_translate("MainWindow", "注冊"))if __name__ == "__main__":import sysapp = QtWidgets.QApplication(sys.argv)MainWindow = QtWidgets.QMainWindow()ui = Ui_MainWindow()ui.setupUi(MainWindow)MainWindow.show()sys.exit(app.exec_())

二、登錄界面 邏輯代碼loginLogic.py

from login import Ui_MainWindow as loginUI
from comsumeTypeLogic import comsumeTypeLogic as CSTLogicfrom PyQt5.QtWidgets import QMessageBox,QMainWindow,QApplication
from PyQt5.QtGui import QIcon
from PyQt5 import QtCoreimport sysclass loginLogic(QMainWindow,loginUI):def __init__(self):super(loginLogic, self).__init__()self.setupUi(self)self.setWindowIcon(QIcon("datas/icon.ico"))self.CSTLogic = CSTLogic()self.run()# 按鈕綁定事件def run(self):# 登錄self.pushButton.clicked.connect(self.login_)# 注冊self.pushButton_2.clicked.connect(self.register_)# 登錄事件def login_(self):pass# 注冊事件def register_(self):pass# 重新啟動界面def reshow(self):self.show()# 運行界面循環
def main_():app = QApplication(sys.argv)login_ = loginLogic()login_.show()sys.exit(app.exec_())if __name__ == '__main__':main_()

三、主界面comsumeType.py

?四、主界面邏輯代碼comsumeTypeLogic.py

from comsumeType import Ui_MainWindow as CSTUIfrom PyQt5.QtWidgets import QMessageBox,QMainWindow,QApplication
from PyQt5.QtGui import QIcon
from PyQt5 import QtCoreimport sysclass comsumeTypeLogic(QMainWindow,CSTUI):returnLoginSignal = QtCore.pyqtSignal()def __init__(self):super(comsumeTypeLogic, self).__init__()self.setupUi(self)self.setWindowIcon(QIcon("datas/icon.ico"))self.run()# 按鈕綁定事件def run(self):# 退出系統self.pushButton_10.clicked.connect(self.exitSystem)# 返回登錄界面self.pushButton_11.clicked.connect(self.returnLogin)# 退出系統def exitSystem(self):sys.exit()# 返回登錄界面def returnLogin(self):self.close()self.returnLoginSignal.emit()if __name__ == '__main__':app =QApplication(sys.argv)CSTLogic = comsumeTypeLogic()CSTLogic.show()sys.exit(app.exec_())

五、登錄界面跳轉至主界面

1、在登錄界面邏輯代碼loginLogic.py中將主界面的邏輯代碼實例化

self.CSTLogic = CSTLogic()

2、登錄界面邏輯代碼loginLogic.py中需要跳轉的位置插入以下代碼

跳轉到主界面同時關閉登錄界面

			self.CSTLogic.show()# 登錄界面關閉self.close()

六、主界面回到登錄界面

1、在主界面邏輯代碼comsumeTypeLogic.py中,添加信號

returnLoginSignal = QtCore.pyqtSignal()

2、在主界面邏輯代碼comsumeTypeLogic.py中需要跳轉到登錄界面的地方觸發信號并發射

	# 返回登錄界面def returnLogin(self):self.close()self.returnLoginSignal.emit()

3、在登錄界面邏輯代碼loginLogic.py中實例化主界面邏輯代碼,且將信號綁定槽函數

self.CSTLogic.show()
self.CSTLogic.returnLoginSignal.connect(self.reshow)

4、在登錄界面邏輯代碼loginLogic.py中編寫槽函數代碼

	def reshow(self):self.show()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255446.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255446.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255446.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于問題vxworks與linux區別

vxWorks Linux 內核 結構 微內核, 內核只提供 了基本的服 務,如:任 務管理,內 存管理,中 斷處理等 宏內核, 除了基本的 服務,內核…

【python學習】——獲取桌面路徑,獲取系統盤符,獲取電腦用戶名,獲取軟件自啟動存放目錄

目錄 1、獲取桌面路徑 法一:利用winshell庫 法二:利用winreg庫 2、獲取系統盤符 3、獲取電腦用戶名 4、獲取軟件自啟動存放目錄 1、獲取桌面路徑 法一:利用winshell庫 import winshell print(winshell.desktop()) 法二:利…

團隊項目:個人工作總結10

團隊項目:個人工作總結10 一.昨天干了什么改進現有的成果二.今天準備干什么做最后的調試分析改進整合。三.遇到的困難任務還是沒有完成轉載于:https://www.cnblogs.com/kongyuhang/p/5442714.html

WPF ClickOnce應用程序IIS部署發布攻略

WPF程序非常適合公司內網使用,唯一缺點就是客戶端要安裝.net框架4.0。優勢也很明顯,在客戶端運行的是一個WinForm程序,自動下載,可以充分利用客戶機的性能,而且是以當前的Windows用戶權限運行,避免了權限帶…

文件傳輸協議

文件傳輸協議(英文:File Transfer Protocol,簡稱為FTP)是用于在網絡上進行文件傳輸的一套標準協議。它屬于網絡傳輸協議的應用層。 FTP是一個8位的客戶端-服務器協議,能操作任何類型的文件而不需要進一步處理&#xff…

36.LEN() 函數

LEN() 函數 LEN 函數返回文本字段中值的長度。 SQL LEN() 語法 SELECT LEN(column_name) FROM table_name SQL LEN() 實例 我們擁有下面這個 "Persons" 表: IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew York…

【python學習】——為exe軟件創建快捷方式;實現軟件自啟動

目錄 1、為exe創建快捷方式 2、實現軟件自啟動 3、完整代碼 4、結果展示 1、為exe創建快捷方式 利用winshell庫的CreateShortCut函數進行創建 【python學習】——獲取桌面路徑,獲取系統盤符,獲取電腦用戶名,獲取軟件自啟動存放目錄_有情懷…

dedecms如何調用當前欄目的子欄目及子欄目文章

前面ytkah談到了 dedecms調用當前欄目的子欄目怎么操作,有的朋友會問如果再增加一個調用子欄目文章的需求,即調用當前欄目的子欄目及子欄目文章,這個有辦法實現嗎?這時就要涉及到另外兩個標簽的調用了,dede:channelart…

控制面板項 .cpl 文件說明

控制面板項 .cpl 文件說明appwiz.cpl 程序和功能、卸載或更改程序bthprops.cpl 藍牙控制面板desk.cpl 屏幕分辨率Firewall.cpl WINDOWS防火墻hdwwiz.cpl 設備管理器igfxcpl.cpl 英特爾圖形和…

vxWorks下常用的幾種延時方法

在應用編程的時候,通常會碰到需要一個任務在特定的延時之后執行一個指定的動作,如等待外設以確保數據可靠,控制揚聲器發聲時間以及串口通信超時重發等。這就需要利用定時器機制來計量特定長度的時間段。 vxWorks作為實時嵌入式系統&#xff0…

【pyqt5學習】——窗口最小化至托盤、取消任務欄圖標

目錄 1、最小化至托盤 1)重寫系統托盤類,設置托盤圖標等屬性 2)將具體的窗口放入托盤 2、取消任務欄界面圖標 3、問題匯總 1)退出后托盤圖標還是存在,沒有消失 2)最小化后左下角會出現 窗口 3&#…

標準庫類型String,Vector

string對象中每個字符的處理&#xff1a; 要用到 for(聲明:表達式) 語句 比如簡單的打印string str中每一個字符 --- string str("hello world!!!"); for(auto c: str)cout<<c<<endl; (ps:這里auto 的意思是讓編譯器自己來決定c變量的類型) --- 再舉一…

React 是怎樣煉成的

本文主要講述 React 的誕生過程和優化思路。 內容整理自 2014 年的 OSCON - React Architecture by vjeux&#xff0c;雖然從今天&#xff08;2018&#xff09;來看可能會有點歷史感&#xff0c;但仍然值得學習了解。以史為鑒&#xff0c;從中也可以管窺 Facebook 優秀的工程管…

HOJ 1640 Mobile Phone

題意&#xff1a;有一個n*n的矩陣&#xff0c;op1時&#xff0c;在(x,y)增加值z&#xff0c;op2時&#xff0c;求以(x1,y1)和(x2,y2)構成的矩陣的和。 思路&#xff1a;二維線段樹。 代碼&#xff1a; 1 #include<stdio.h>2 #include<string.h>3 const int N1111;4…

vxWorks多任務編程初探-上

進程&#xff08;Process&#xff09;是具有一定獨立功能的程序關于某個數據集合上的一次運行活動&#xff0c;是系統進行資源分配和調度的一個獨立單位。程序只是一組指令的有序集合&#xff0c;它本身沒有任何運行的含義&#xff0c;只是一個靜態實體。而進程則不同&#xff…

【pyqt5學習】——重寫窗口右上角關閉事件closeEvent()

目錄 1、法一&#xff1a;設置中文按鈕 2、法二&#xff1a;不設置中文按鈕 pyqt5 關閉按鈕顯示提示信息_Marvin_Xavier的博客-CSDN博客_pyqt 關閉按鈕https://blog.csdn.net/marwenx/article/details/107226531 1、法一&#xff1a;設置中文按鈕 def closeEvent(self, even…

感動要哭 擼了一個半小時的重載預算符高精

擼了一個半小時代碼&#xff0c;沒玩守望&#xff08;垃圾游戲毀我青春五個金牌都帶不起隊友&#xff09;最后編譯出312個錯誤。嚇我&#xff0c;然而改了幾個地方就直接過了直接過了直接過了&#xff0c;目前還是不明白ostream&#xff0c;istream的用處&#xff0c;上網才搞定…

LVDS DP等顯示器接口簡介

LVDS 產品傳輸速率從幾百Mbps到2Gbps。它是電流驅動的&#xff0c;他通過在接收端放置一個負載而得到的電壓&#xff0c;當電流正向流動&#xff0c;接收端輸出為1&#xff0c;反之為0&#xff0c;它的擺幅250mV-450mV. lvds 即低壓差分信號傳輸&#xff0c;是一種滿足高性能傳…

http協議相關內容

二、HTTP協議1、協議&#xff1a;共同遵守的規則。2、網絡協議有&#xff1a;TCP&#xff08;有三次握手機制&#xff09;/IP&#xff1a;傳輸控制協議/地址協議&#xff0c;SMTP&#xff1a;簡單郵件傳輸協議&#xff0c;FTP&#xff1a;文件傳輸協議&#xff0c;http&#xf…

使用XmlTextReader 讀取XML

XmlTextReader 限于只向前的讀取 XmlTextReader 的技術類似于讀取其他任何文件 首先打開文件&#xff0c;然后從文件中讀取信息,最后關閉文件. 每次從文件中讀取信息時&#xff0c;他在文件中的位置都會前移.到達文件結尾的時候就什么都不讀了。 1 創建XmlTextReader對象 …