【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.mzph.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对象 …