PyQt5实现用户登录GUI界面及登录后跳转

 更新时间:2021年11月22日 16:05:57   作者:Python集中营  
PyQt5是强大的GUI工具之一,通过其可以实现优秀的桌面应用程序。本文主要介绍了PyQt5实现用户登录GUI界面及登录后跳转,具有一定的参考价值,感兴趣的可以了解一下

PyQt5是强大的GUI工具之一,通过其可以实现优秀的桌面应用程序。希望通过一个简单的登录页面可以让大家顺利入坑,如有不妥之处还请大佬指点改正!

导入业务需要的所有的扩展包。

import sys  # 系统参数操作
from PyQt5.QtWidgets import *  # 模块包含创造经典桌面风格的用户界面提供了一套UI元素的类
from PyQt5.QtCore import *  # 此模块用于处理时间、文件和目录、各种数据类型、流、URL、MIME类型、线程或进程
from PyQt5.QtGui import *  # 含类窗口系统集成、事件处理、二维图形、基本成像、字体和文本

创建主界面窗口。

class MainWindow(QMainWindow):
    def __init__(self, *args, **kwargs):
        '''
        构造函数,初始化参数属性
        :param args:
        :param kwargs:
        '''
        super().__init__(*args, **kwargs)
        self.setWindowTitle('主功能页面')
        self.setFixedWidth(600)
        self.setFixedHeight(600)
创建登录对话框。
class LoginDialog(QDialog):
    def __init__(self, *args, **kwargs):
        '''
        构造函数,初始化登录对话框的内容
        :param args:
        :param kwargs:
        '''
        super().__init__(*args, **kwargs)
        self.setWindowTitle('欢迎登录')  # 设置标题
        self.resize(200, 200)  # 设置宽、高
        self.setFixedSize(self.width(), self.height())
        self.setWindowFlags(Qt.WindowCloseButtonHint)  # 设置隐藏关闭X的按钮

        '''
        定义界面控件设置
        '''
        self.frame = QFrame(self)  # 初始化 Frame对象
        self.verticalLayout = QVBoxLayout(self.frame)  # 设置横向布局
        self.verticalLayout

        self.login_id = QLineEdit()  # 定义用户名输入框
        self.login_id.setPlaceholderText("请输入登录账号")  # 设置默认显示的提示语
        self.verticalLayout.addWidget(self.login_id)  # 将该登录账户设置添加到页面控件

        self.passwd = QLineEdit()  # 定义密码输入框
        self.passwd.setPlaceholderText("请输入登录密码")  # 设置默认显示的提示语
        self.verticalLayout.addWidget(self.passwd)  # 将该登录密码设置添加到页面控件

        self.button_enter = QPushButton()  # 定义登录按钮
        self.button_enter.setText("登录")  # 按钮显示值为登录
        self.verticalLayout.addWidget(self.button_enter)  # 将按钮添加到页面控件

        self.button_quit = QPushButton()  # 定义返回按钮
        self.button_quit.setText("返回")  # 按钮显示值为返回
        self.verticalLayout.addWidget(self.button_quit)  # 将按钮添加到页面控件

        # 绑定按钮事件
        self.button_enter.clicked.connect(self.button_enter_verify)
        self.button_quit.clicked.connect(
            QCoreApplication.instance().quit)  # 返回按钮绑定到退出

    def button_enter_verify(self):
        # 校验账号是否正确
        if self.login_id.text() != "admin":
            print("test1")
            return
        # 校验密码是否正确
        if self.passwd.text() != "admin@1234":
            print("test2")
            return
        # 验证通过,设置QDialog对象状态为允许
        self.accept()

最后通过mian入口函数启动应用。

if __name__ == "__main__":
    # 创建应用
    window_application = QApplication(sys.argv)
    # 设置登录窗口
    login_ui = LoginDialog()
    # 校验是否验证通过
    if login_ui.exec_() == QDialog.Accepted:
        # 初始化主功能窗口
        main_window = MainWindow()
        # 展示窗口
        main_window.show()
        # 设置应用退出
        sys.exit(window_application.exec_())

到此这篇关于 PyQt5实现用户登录GUI界面及登录后跳转的文章就介绍到这了,更多相关 PyQt5 用户登录GUI界面内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python解析基于xml格式的日志文件

    python解析基于xml格式的日志文件

    这篇文章主要为大家详细介绍了python如何解析基于xml格式的日志文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • scrapy spider的几种爬取方式实例代码

    scrapy spider的几种爬取方式实例代码

    这篇文章主要介绍了scrapy spider的几种爬取方式实例代码,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Python从入门到精通之多线程使用详解

    Python从入门到精通之多线程使用详解

    这篇文章主要介绍了Python中的多线程使用,包括创建线程、线程同步、线程间通信以及线程池等基本概念和技巧,文中的示例代码讲解详细,需要的可以参考一下
    2023-07-07
  • Python模块、包和发布模块示例代码

    Python模块、包和发布模块示例代码

    模块是python程序架构的一个核心概念,模块名同样也是一个标识符,需要符合标识符的命名规则,接下来通过本文给大家讲解Python模块、包和发布模块,需要的朋友可以参考下
    2023-01-01
  • Python下opencv图像阈值处理的使用笔记

    Python下opencv图像阈值处理的使用笔记

    这篇文章主要介绍了Python下opencv图像阈值处理的使用笔记,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 浅谈Python 命令行参数argparse写入图片路径操作

    浅谈Python 命令行参数argparse写入图片路径操作

    这篇文章主要介绍了浅谈Python 命令行参数argparse写入图片路径操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • python常见模块之OS模块和time模块

    python常见模块之OS模块和time模块

    这篇文章主要给大家介绍了关于python常见模块之OS模块和time模块的相关资料,time模块、os模块与sys模块被称为python模块中的三剑客,需要的朋友可以参考下
    2021-06-06
  • python调用stitcher类自动实现多个图像拼接融合功能

    python调用stitcher类自动实现多个图像拼接融合功能

    这篇文章主要介绍了python调用stitcher类自动实现多个图像拼接融合功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Python实现按学生年龄排序的实际问题详解

    Python实现按学生年龄排序的实际问题详解

    这篇文章主要给大家介绍了关于Python实现按学生年龄排序实际问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08
  • Python3使用Selenium获取session和token方法详解

    Python3使用Selenium获取session和token方法详解

    这篇文章主要介绍了Python3使用Selenium获取session和token方法详解,需要的朋友可以参考下
    2021-02-02

最新评论