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

作者:Python集中营 时间:2021-04-08 07:50:03 

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

来源:https://www.cnblogs.com/lwsbc/p/15525984.html

标签:PyQt5,登录,GUI界面
0
投稿

猜你喜欢

  • django 扩展user用户字段inlines方式

    2022-02-28 00:50:14
  • python实现按关键字筛选日志文件

    2022-12-28 21:45:49
  • 使用PyQt的QLabel组件实现选定目标框功能的方法示例

    2022-01-08 22:43:21
  • 关于浏览器的一些观点

    2008-08-06 12:48:00
  • 最强大最好最全的javascript 验证表单的例子

    2010-03-14 11:26:00
  • Selenium多窗口切换解决方案

    2021-07-06 14:56:33
  • 简单介绍Python的Django框架的dj-scaffold项目

    2021-11-01 07:18:05
  • Anaconda下配置python+opencv+contribx的实例讲解

    2021-04-10 21:28:33
  • Perl命令行应用程序详解

    2023-08-09 19:01:18
  • 浅谈keras中的batch_dot,dot方法和TensorFlow的matmul

    2023-04-08 07:21:28
  • Django的分页器实例(paginator)

    2023-06-23 03:22:35
  • python字符串替换re.sub()方法解析

    2022-02-14 16:51:42
  • 页面新开窗口的一点补充

    2008-09-10 12:57:00
  • Django调用支付宝接口代码实例详解

    2023-07-19 10:53:51
  • WAP2.0网页设计中的交互细节

    2010-08-12 20:50:00
  • Python3中条件控制、循环与函数的简易教程

    2021-06-09 18:22:54
  • Django后端接收嵌套Json数据及解析详解

    2021-04-24 20:11:38
  • XMLHTTP资料

    2008-09-05 17:20:00
  • python 接口测试response返回数据对比的方法

    2023-10-12 14:01:31
  • python编程线性回归代码示例

    2021-06-07 07:53:16
  • asp之家 网络编程 m.aspxhome.com