PyQt信号槽实现页面的登录与跳转 #页面进一步优化

将登录框中的取消按钮使用信号和槽的机制,关闭界面。

将登录按钮使用信号和槽连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为"123456",如果账号密码匹配成功,当前界面关闭,另一个界面展开。如果匹配失败,则输出登录失败,并将密码框和账号框中的内容清空

 pyside转换前

 

Pyside将ui转换为py文件,将项目资源导入后 

 

代码如下:(主执行代码)

import sys
from PySide6.QtCore import Qt
from PySide6.QtWidgets import QWidget,QApplication

from login_sea import Ui_Form
from login_succes import Ui_Form2


#界面1(按钮)
class MyWidget(Ui_Form,QWidget):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.pushButton.clicked.connect(btn_def)


#界面2
class SecMyWidget(Ui_Form2,QWidget):
    def __init__(self):
        super().__init__()
        self.setupUi(self)



def btn_def():
    name = myWidget.lineEdit_1.text()
    password = myWidget.lineEdit_2.text()
    if name=='admin'and password=='123456':
        myWidget.close()
        second.show()
    else:
        print('输入错误')

if __name__ =='__main__':
    app = QApplication(sys.argv)

    myWidget=MyWidget()

    myWidget.setWindowFlag(Qt.WindowType.FramelessWindowHint)
    myWidget.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)

    myWidget.show()

    second=SecMyWidget()
    second.setWindowFlag(Qt.WindowType.FramelessWindowHint)
    second.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)
    #阻塞
    sys.exit(app.exec())

 剩下两个页面的ui转py代码:

# -*- coding: utf-8 -*-

################################################################################
## Form generated from reading UI file 'login_sea.ui'
##
## Created by: Qt User Interface Compiler version 6.8.1
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################

from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
    QMetaObject, QObject, QPoint, QRect,
    QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
    QFont, QFontDatabase, QGradient, QIcon,
    QImage, QKeySequence, QLinearGradient, QPainter,
    QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QFrame, QLabel, QLineEdit,
    QPushButton, QSizePolicy, QWidget)
import res_rc
import sys

class Ui_Form(object):
    def setupUi(self, Form):
        if not Form.objectName():
            Form.setObjectName(u"Form")
        Form.resize(698, 623)
        Form.setStyleSheet(u"*{\n"
"	background-color: rgb(255, 255, 255);\n"
"}\n"
"\n"
"QFrame#frameback{		\n"
"	border-image: url(:/Logo/shangHai.jpg);\n"
"	border-radius:5px\n"
"}\n"
"\n"
"\n"
"QLabel#labelback{\n"
"	background-color: rgba(120, 120, 125, 50);\n"
"	border-radius:5px;\n"
"}\n"
"#labelback2{\n"
"	background-color: rgba(70, 70, 75, 120);\n"
"	border-radius:5px;\n"
"}\n"
"#loginlab{\n"
"	background:transparent;\n"
"	\n"
"	color: rgba(255, 255, 255, 200);\n"
"	font: 26pt \"Segoe Print\";\n"
"}\n"
"QLineEdit{\n"
"	background:transparent;\n"
"	border:none;\n"
"	border-bottom:3px solid rgba(255, 255, 255, 200);\n"
"	color: rgba(255, 255, 255, 200);\n"
"	font: 26pt \"Segoe Print\";\n"
"}\n"
"QPushButton{\n"
"	color: rgba(5, 2, 5, 200);\n"
"	font: 26pt \"Segoe Print\";\n"
"	border-radius:5px;\n"
"	background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(244, 191, 0, 255), stop:1 rgba(255, 255, 255, 255));\n"
"}\n"
"QPushButton:hover{\n"
"	color: rgba(5, 2, 5, 200);\n"
"	font: 26pt \"Segoe Print\";\n"
"	b"
                        "order-radius:5px;\n"
"	background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(190, 191, 0, 255), stop:1 rgba(190, 255, 255, 255));\n"
"}\n"
"QPushButton:pressed{\n"
"	color: rgba(5, 2, 5, 200);\n"
"	font: 26pt \"Segoe Print\";\n"
"	border-radius:5px;\n"
"	background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(244, 191, 0, 255), stop:1 rgba(255, 255, 255, 255));\n"
"	padding-top:5px;\n"
"	padding-left:5px;\n"
"}\n"
"\n"
"\n"
"\n"
"")
        self.frameback = QFrame(Form)
        self.frameback.setObjectName(u"frameback")
        self.frameback.setGeometry(QRect(90, 100, 531, 401))
        self.frameback.setFrameShape(QFrame.StyledPanel)
        self.frameback.setFrameShadow(QFrame.Raised)
        self.labelback = QLabel(self.frameback)
        self.labelback.setObjectName(u"labelback")
        self.labelback.setGeometry(QRect(0, 0, 531, 401))
        self.labelback2 = QLabel(self.frameback)
        self.labelback2.setObjectName(u"labelback2")
        self.labelback2.setGeometry(QRect(50, 80, 431, 281))
        self.loginlab = QLabel(self.frameback)
        self.loginlab.setObjectName(u"loginlab")
        self.loginlab.setGeometry(QRect(190, 100, 211, 71))
        self.lineEdit_1 = QLineEdit(self.frameback)
        self.lineEdit_1.setObjectName(u"lineEdit_1")
        self.lineEdit_1.setGeometry(QRect(150, 190, 231, 31))
        self.lineEdit_1.setMaxLength(32769)
        self.lineEdit_2 = QLineEdit(self.frameback)
        self.lineEdit_2.setObjectName(u"lineEdit_2")
        self.lineEdit_2.setGeometry(QRect(150, 240, 231, 31))
        self.lineEdit_2.setEchoMode(QLineEdit.Password)
        self.pushButton = QPushButton(self.frameback)
        self.pushButton.setObjectName(u"pushButton")
        self.pushButton.setGeometry(QRect(150, 300, 241, 41))

        self.retranslateUi(Form)

        QMetaObject.connectSlotsByName(Form)
    # setupUi

    def retranslateUi(self, Form):
        Form.setWindowTitle(QCoreApplication.translate("Form", u"Form", None))
        self.labelback.setText("")
        self.labelback2.setText("")
        self.loginlab.setText(QCoreApplication.translate("Form", u"welcome", None))
        self.lineEdit_1.setPlaceholderText(QCoreApplication.translate("Form", u"e-mail", None))
        self.lineEdit_2.setPlaceholderText(QCoreApplication.translate("Form", u"passwd", None))
        self.pushButton.setText(QCoreApplication.translate("Form", u"log in", None))
    # retranslateUi

if __name__ == '__main__':
    #实例化程序,有且仅有一个应用程序对象
    app = QApplication(sys.argv)

    w=QWidget()

    Ui_Form().setupUi(w)
    w.setWindowFlag(Qt.WindowType.FramelessWindowHint)
    w.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)

    w.show()
    #阻塞
    sys.exit(app.exec())










# -*- coding: utf-8 -*-

################################################################################
## Form generated from reading UI file 'login_succes.ui'
##
## Created by: Qt User Interface Compiler version 6.8.1
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################

from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
    QMetaObject, QObject, QPoint, QRect,
    QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
    QFont, QFontDatabase, QGradient, QIcon,
    QImage, QKeySequence, QLinearGradient, QPainter,
    QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QLabel, QSizePolicy, QWidget)
import res_rc
import sys

class Ui_Form2(object):
    def setupUi(self, Form):
        if not Form.objectName():
            Form.setObjectName(u"Form")
        Form.resize(709, 695)
        Form.setStyleSheet(u"QLabel#label1{\n"
"	border-radius:3px;\n"
"	border-image: url(:/Logo/wanXia.jpg);\n"
"}\n"
"#label2{\n"
"	\n"
"	font: 48pt \"\u5fae\u8f6f\u96c5\u9ed1\";\n"
"	\n"
"	color: rgb(85, 0, 255);\n"
"}")
        self.label1 = QLabel(Form)
        self.label1.setObjectName(u"label1")
        self.label1.setGeometry(QRect(70, 100, 551, 431))
        self.label2 = QLabel(Form)
        self.label2.setObjectName(u"label2")
        self.label2.setGeometry(QRect(100, 230, 341, 71))

        self.retranslateUi(Form)

        QMetaObject.connectSlotsByName(Form)
    # setupUi

    def retranslateUi(self, Form):
        Form.setWindowTitle(QCoreApplication.translate("Form", u"Form", None))
        self.label1.setText("")
        self.label2.setText(QCoreApplication.translate("Form", u"\u767b\u9646\u6210\u529f\uff01", None))
    # retranslateUi

if __name__ == '__main__':
    #实例化程序,有且仅有一个应用程序对象
    app = QApplication(sys.argv)

    w=QWidget()

    Ui_Form2().setupUi(w)
    w.setWindowFlag(Qt.WindowType.FramelessWindowHint)
    w.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)

    w.show()
    #阻塞
    sys.exit(app.exec())

本期思维导图: 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

容易被遗忘的测试用例

网络服务器启动了吗?应用程序服务器启动了吗?数据库上线了吗?测试数据是否预先加载到数据库中?每当我们准备开始测试应用程序时,一切都应该已经准备妥当。 然而,当测试开始后,我们可能会漏掉一些…

MacOS安装sshfs挂载远程电脑硬盘到本地

文章目录 sshfs简介sshfs安装下载安装macFUSE安装sshfs sshfs使用注意事项 sshfs简介 SSHFS(SSH Filesystem)是一种基于FUSE(用户空间文件系统)的文件系统,它允许你通过SSH协议挂载远程文件系统。使用SSHFS&#xff0…

5092 星际争霸

逆序对排序&#xff1b; 字符串遍历&#xff1b; pair 特点&#xff1a; 两个值&#xff0c;第一个是字符串&#xff0c;第二个是逆序对数。而且没有重复的字符串。 #include<bits/stdc.h>using namespace std; typedef long long ll; const int N1e35; #define x f…

摩托车电动车佩戴头盔检测数据集,支持YOLO,COCO,VOC格式的标注,2514张图片超高识别率的数据集

摩托车电动车佩戴头盔检测数据集&#xff0c;支持YOLO&#xff0c;COCO&#xff0c;VOC格式的标注&#xff0c;2514张图片超高识别率的数据集 数据集分割 2514总图像数 训练组68% 1714图片 有效集21% 525图片 测试集11% 275图片 预处理 自动定向&#xf…

异或和公式

前缀异或和公式 前缀异或和的概念与前缀和类似&#xff0c;但它使用的是异或&#xff08;XOR&#xff09;操作而不是加法。异或操作有一些独特的性质&#xff0c;使得前缀异或和在处理某些问题时非常有用。下面是前缀异或和的推导原理&#xff1a; • 异或操作的性质&#xf…

PyQt6 中信号和槽及其他控件思维导图和应用

原代码&#xff1a; # -*- coding: utf-8 -*-################################################################################ ## Form generated from reading UI file 帝国时代登录界面.ui ## ## Created by: Qt User Interface Compiler version 6.8.1 ## ## WARNING!…

Java程序调kubernetes(k8s1.30.7)core API简单示例,并解决403权限验证问题,即何进行进行权限授权以及验证

简单记录问题 一、问题描述 希望通过Java程序使用Kubernetes提供的工具包实现对Kubernetes集群core API的调用&#xff0c;但是在高版本上遇见权限验证问题4xx。 <dependency><groupId>io.kubernetes</groupId><artifactId>client-java</artifact…

图像处理网络中的模型水印

论文信息&#xff1a;Jie Zhang、Han Fang、Weiming Zhang、Wenbo Zhou、Hao Cui、Hao Cui、Nenghai Yu&#xff1a;Model Watermarking for Image Processing Networks 本文首次提出了图像处理网络中深度水印问题&#xff0c;将知识产权问题引入图像处理模型 提出了第一个深…

代码随想录算法训练营第51期第8天 | 344. 反转字符串、541.反转字符串 II、卡码网:54.替换数字

344. 反转字符串 344. 反转字符串https://leetcode.cn/problems/reverse-string/1.这道题很简单&#xff0c;直接使用双指针就可以 2.这里有一个可以优化的点&#xff0c;left和right-- 可以放在字符串替换的时候完成&#xff0c;没必要单独写 void reverseString(char* s, …

学习threejs,使用canvas更新纹理

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️Texture 贴图 二、&#x1…

【机器学习】窥数据之序,悟算法之道:机器学习的初心与远方

文章目录 机器学习入门&#xff1a;从零开始学习基础与应用前言第一部分&#xff1a;什么是机器学习&#xff1f;1.1 机器学习的定义1.1.1 举个例子&#xff1a;垃圾邮件分类器 1.2 机器学习的核心思想1.2.1 数据驱动的模式提取1.2.2 为什么机器学习比传统方法更灵活&#xff1…

华为HarmonyOS 让应用快速拥有账号能力 -- 3 获取用户手机号

场景介绍 当应用对获取的手机号时效性要求不高时&#xff0c;可使用Account Kit提供的手机号授权与快速验证能力&#xff0c;向用户发起手机号授权申请&#xff0c;经用户同意授权后&#xff0c;获取到手机号并为用户提供相应服务。以下只针对Account kit提供的手机号授权与快…

查询品牌涉及两张表(brand、brand_admin_mapping)

文章目录 1、BrandController2、AdminCommonService3、BrandApiService3、BrandCommonService4、BrandSqlService涉及的表SQL 查询逻辑参数处理执行查询完整 SQL 逻辑参数映射总结 查询指定管理员下的品牌所涉及的表有哪些&#xff1f; http://127.0.0.1:8087/brand/admin/list…

请求响应:常见参数接收及封装(数组集合参数及日期参数)

数组参数 在前端页面的表单中&#xff0c;存在复选框元素&#xff0c;当提交表单到后端的时候&#xff0c;会将复选框中的全部内容提交到后端进行处理&#xff0c;由于复选框中往往存在很多数据&#xff0c;并且同复选框中数据名称相同&#xff0c;这样的请求参数叫做数组参数…

Artec Leo 3D扫描仪 革新家具行业的数字化展示【沪敖3D】

随着科技的飞速进步&#xff0c;三维扫描技术已被广泛应用于包括家居行业在内的多个行业。面对现代消费者对家居产品日益增长的个性化和多样化需求&#xff0c;传统的家居设计和展示方法已难以满足市场需求。三维扫描技术的出现&#xff0c;为家居行业带来了新的发展机遇&#…

Qt 安装Qt Serial Port

最近要用Qt写个串口上位机软件&#xff0c;发现Qt的串口库用不了&#xff0c;上网找了一下资料&#xff0c;找到一种解决办法&#xff0c;具体操作如下&#xff1a; 参考文章&#xff1a;https 目录 一、找到QT安装路径&#xff0c;并运行Qt Maintenance Tool二、选择 添加或移…

重生之我在异世界学编程之C语言:操作符篇

大家好&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 本文目录 引言正文1. 算术操作符2. 关系&#xff0…

FPGA Xilinx维特比译码器实现卷积码译码

FPGA Xilinx维特比译码器实现卷积码译码 文章目录 FPGA Xilinx维特比译码器实现卷积码译码1 Xilinx维特比译码器实现2 完整代码3 仿真结果 MATLAB &#xff08;n,k,m&#xff09;卷积码原理及仿真代码&#xff08;你值得拥有&#xff09;_matlab仿真后代码-CSDN博客 MATLAB 仿真…

识别医疗设备制造中的变异性的三个步骤

质量控制是医疗设备制造的关键支柱。毕竟&#xff0c;如果产品不符合最高的安全和功能标准&#xff0c;人们可能会被误诊、受伤甚至死亡。每个设备都必须符合精确的规格和法规&#xff0c;即使是微小的偏差也可能产生重大影响。 我们将以优化磁共振成像&#xff08;MRI&#xf…

数据结构---链表(2)---双向链表

链表(1)中讲过了在OJ题中出现很多并且能作为一些复杂数据结构子结构的不带头单向不循环链表&#xff0c;下面讲解应用很广很实用的带头双向循环链表。 三、双向链表---DoublyLinkedList 演示带头双向循环链表(实用)。 带头--->不需要对空链表继续单独判断&#xff1b;循环…