PyQt5登录界面跳转

目录

1、设计ui界面

2、设计逻辑代码,实现登录界面跳转

3、结果


1、设计ui界面

设计后的ui界面

在这里可以设置密码不显示

这里可以设置快捷键

最后将ui界面转为py文件后获得的逻辑代码为:(文件名为Login.py

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'longui.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(383, 208)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.pushButton = QtWidgets.QPushButton(self.centralwidget)self.pushButton.setGeometry(QtCore.QRect(150, 140, 75, 23))self.pushButton.setObjectName("pushButton")self.widget = QtWidgets.QWidget(self.centralwidget)self.widget.setGeometry(QtCore.QRect(100, 50, 41, 61))self.widget.setObjectName("widget")self.verticalLayout = QtWidgets.QVBoxLayout(self.widget)self.verticalLayout.setContentsMargins(0, 0, 0, 0)self.verticalLayout.setObjectName("verticalLayout")self.label = QtWidgets.QLabel(self.widget)self.label.setObjectName("label")self.verticalLayout.addWidget(self.label)self.label_2 = QtWidgets.QLabel(self.widget)self.label_2.setObjectName("label_2")self.verticalLayout.addWidget(self.label_2)self.widget1 = QtWidgets.QWidget(self.centralwidget)self.widget1.setGeometry(QtCore.QRect(140, 50, 131, 61))self.widget1.setObjectName("widget1")self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget1)self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)self.verticalLayout_2.setObjectName("verticalLayout_2")self.lineEdit = QtWidgets.QLineEdit(self.widget1)self.lineEdit.setObjectName("lineEdit")self.verticalLayout_2.addWidget(self.lineEdit)self.lineEdit_2 = QtWidgets.QLineEdit(self.widget1)self.lineEdit_2.setEchoMode(QtWidgets.QLineEdit.Password)self.lineEdit_2.setObjectName("lineEdit_2")self.verticalLayout_2.addWidget(self.lineEdit_2)MainWindow.setCentralWidget(self.centralwidget)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))self.pushButton.setText(_translate("MainWindow", "登录"))self.pushButton.setShortcut(_translate("MainWindow", "Return")) # 设置快捷键self.label.setText(_translate("MainWindow", "账号:"))self.label_2.setText(_translate("MainWindow", "密码:"))

2、设计逻辑代码,实现登录界面跳转

这里登录后,我们转到另外一个窗口。这里我们结合以下文章实现界面跳转:Pyqt5打开电脑摄像头进行拍照_清纯世纪的博客-CSDN博客。

逻辑代码如下:(文件名为Login_mian.py

from Login import Ui_MainWindow
from Camera_main import *class login_window(QtWidgets.QMainWindow, Ui_MainWindow):def __init__(self):super(login_window, self).__init__()self.setupUi(self)  # 创建窗体对象self.init()self.admin = "123456"self.Password = "123456"def init(self):self.pushButton.clicked.connect(self.login_button)  # 连接槽def login_button(self):if self.lineEdit.text() == "":QMessageBox.warning(self, '警告', '账号不能为空,请输入!')return Noneif self.lineEdit_2.text() == "":QMessageBox.warning(self, '警告', '密码不能为空,请输入!')return Noneif (self.lineEdit.text() == self.admin) and self.lineEdit_2.text() == self.Password:# 1打开新窗口Ui_Main.show()# 2关闭本窗口self.close()else:QMessageBox.critical(self, '错误', '账号或密码错误!')self.lineEdit.clear()return Noneif __name__ == '__main__':from PyQt5 import QtCoreQtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)  # 自适应分辨率app = QtWidgets.QApplication(sys.argv)window = login_window()Ui_Main = Open_Camera()  # 生成主窗口的实例window.show()sys.exit(app.exec_())

3、结果

注意:两个界面的函数不能一样,因为一般没有更改的用PyUIC直接生成的.py文件的函数名是一样的,要进行更改。

参考:暂未成功人士

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/74079.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux学习之Telnet明文漏洞

yum install telnet telnet-server xinetd -y安装软件。 systemctl start xinetd.service开启xinetd,systemctl start telnet.socket开启telnet。 xinetd来监控端口,然后把数据传给telnet。 ifconfig eth0看一下eth0网卡信息,。 iptable…

SpringBoot统⼀功能处理

前言🍭 ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 本章是讲Spring Boot 统⼀功能处理模块,也是 AOP 的实战环节&…

226、仿真-基于51单片机楼道教室走道智能灯光光照人体感应检测控制Proteus仿真设计(程序+Proteus仿真+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、程序源码 资料包括: 需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选择 方案一&…

基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure)

pytest搭建自动化测试环境(dockerpytestjenkinsallure) 这里我以ubuntu18为例 如果有docker环境,可以直接拉取我打包好的镜像docker pull ziyigun/jenkins:v1.0 1 搭建Docker 1.1 安装docker # 配置docker安装环境 sudo apt-get install ap…

Linux 系统编程拾遗

Linux 系统编程拾遗 进程的创建 进程的创建 fork()、exit()、wait()以及execve()的简介 创建新进程:fork()

WebRTC音视频通话-WebRTC视频自定义RTCVideoCapturer相机

WebRTC音视频通话-WebRTC视频自定义RTCVideoCapturer相机 在之前已经实现了WebRTC调用ossrs服务,实现直播视频通话功能。但是在使用过程中,RTCCameraVideoCapturer类提供的方法不能修改及调节相机的灯光等设置,那就需要自定义RTCVideoCaptur…

使用chatgpt将中文翻译成学术英语

使用chatgpt将中文翻译成学术英语 方式一 使用chatgpt翻译 你是一个英文学术论文写作专家,以下是一篇学术论文中的一段内容,请先对其进行翻译为英文,并将此部分润色以满足学术标准,提高语法、清晰度和整体可读性,给…

基于traccar快捷搭建gps轨迹应用

0. 环境 - win10 虚拟机ubuntu18 - i5 ubuntu22笔记本 - USB-GPS模块一台,比如华大北斗TAU1312-232板 - 双笔记本组网设备:路由器,使得win10笔记本ip:192.168.123.x,而i5笔记本IP是192.168.123.215。 - 安卓 手机 1.…

画质提升+带宽优化,小红书音视频团队端云结合超分落地实践

随着视频业务和短视频播放规模不断增长,小红书一直致力于研究:如何在保证提升用户体验质量的同时降低视频带宽成本? 在近日结束的音视频技术大会「LiveVideoStackCon 2023」上海站中,小红书音视频架构视频图像处理算法负责人剑寒向…

LVS-DR集群(一台LVS,一台CIP,两台web,一台NFS)的构建以及LVS-DR模式工作原理和特点

一.LVS-DR工作模式原理和特点 1.工作模式 2.模式特点 二.构建环境 1.五台关闭防火墙,关闭selinux,拥有固定IP,部署有http服务的虚拟机,LVS设备下载ipvsadm工具,NFS 设备需要下载rpcbind和nfs-utils 2.实现功能 3…

MISRA 2012学习笔记(3)-Rules 8.4-8.7

文章目录 Rules8.4 字符集和词汇约定(Character sets and lexical conventions)Rule 4.1 八进制和十六进制转译序列应有明确的终止识别标识Rule 4.2 禁止使用三字母词(trigraphs) 8.5 标识符(Identifiers)Rule 5.1 外部标识符不得重名Rule 5.2 同范围和命名空间内的标识符不得重…

跟着美团学设计模式(感处)

读了着篇文章之后发现真的是,你的思想,你的思维是真的比比你拥有什么技术要强的。 注 开闭原则 开闭原则(Open-Closed Principle)是面向对象设计中的基本原则之一,它的定义是:一个软件实体应该对扩展开放…