美文网首页
如何使用PyQt5一步步实现用户登录GUI界面、登录后跳转?

如何使用PyQt5一步步实现用户登录GUI界面、登录后跳转?

作者: Python集中营 | 来源:发表于2021-11-08 20:21 被阅读0次

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

    file

    【阅读全文】

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

    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_())
    

    【往期精彩】

    ● 办公自动化:几行代码将PDF文档转换为WORD文档(代码实战)!

    ● 办公自动化:轻松提取PDF页面数据,并生成Excel文件(代码实战)!

    ● sched 模块中巨好用的轻量级定时任务神器scheduler!

    ● 不用再使用命令行打包成exe,有人写出了UI应用,可视化UI界面对python程序进行打包的方法!

    ● 发现一个秘密:既python3.6之后字典竟然变成了有序集合,我再次验证了一下!

    ● 这么多的内置函数能记住吗?对python的68个内置函数分类总结!

    ● 当大厂码农,遇到多年未见的公务员老同学,故事的结尾炸了...

    ● 必须要会的文件操作对象File,python文件读写操作利器!

    ● 你不知道的CS模式的进程管理工具,状态监测、项目启停一目了然!

    ● 如何将一个python应用以docker镜像的方式来运行?

    ● python-celery专注于实现分布式异步任务处理、任务调度的插件!

    ● python远程服务操作工具:fabric,远程命令、本地命令、服务器操作利器!

    ● python超赞插件you-get,执行一行命令即可下载、命令行下载工具推荐!

    ● 办公自动化:Python-win32com自动将word文档转换成pdf格式!

    相关文章

      网友评论

          本文标题:如何使用PyQt5一步步实现用户登录GUI界面、登录后跳转?

          本文链接:https://www.haomeiwen.com/subject/wlrpzltx.html