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
0
投稿
猜你喜欢
- 除了实现新的种类的对象以外,类有时有用于扩展Python的内置类型的功能。主要有以下两种技术:通过嵌入扩展类型下例把一些集合函数变成方法,而
- 在开发中中我们经常会使用到数据库连接池,比如dbcp数据库连接池,本章将讲解java连接dbcp数据库库连接池的简单使用。开发工具myecl
- --******************************************************* --* 分页存储过程 *
- 今天开发富媒体广告遇到的问题 用JS控制flash 只在IE平台下有效 费尽周折才找到兼容的解决方案方法如下:重点在于 object的id属
- 我就废话不多说了,大家还是直接看代码吧!import kerasimport numpy as npfrom keras.applicati
- 前言electron+vuecli3 实现设置打印机,静默打印小票功能网上相关的资料比较少,这里给大家分享一下,希望大家可以少踩一些坑git
- 介绍最近在研究目标检测方面的小东西,需要到对桌面进行实时捕捉画面,获取画面后再检测,达到实时桌面目标检测的目的,所以写了一段小代码来实现该功
- 历史:Message Queue的需求由来已久,80年代最早在金融交易中,高盛等公司采用Teknekron公司的产品,当时的Message
- Scrapy中Spider的用法Spider类定义了如何爬取某个(或某些)网站。包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中
- python五子棋原创算法,供大家参考,具体内容如下我们都见过五子棋,但是在我看来五子棋单机游戏中,逻辑赢法很重要,经常用到的算法是五子连珠
- 某大师曾说过,像了解自己的老婆 一样了解自己管理的数据库,个人认为包含了两个方面的了解:1,在稳定性层面来说,更多的是关注高可用、读写分离、
- 今天分享一个我自己写的实用脚本,主要是将.xml文件进行批量的修改首先,声明我并不是很了解.xml的相关知识,所以今天主要是以我遇到的问题来
- 并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。常常在使用中以森林来表示。并查集有三种基本操作,获得根节点,判断两节点是
- 模板引擎的思想是来源于MVC(Model View Controller)模型,即模型层、视图层、控制器层。在Web端,模型层为数据库的操作
- 前言Pillow库有很多用途,本文使用Pillow来生成随机的验证码图片。Pillow的用法参考:https://www.jb51.net/
- 1.下载MySQL Community Server 5.7.16 安装好2.进去mysql安装目录的bin目录下,在文件地址栏输入cmd回
- 一、回顾一下CONVERT()的语法格式:CONVERT (<data_ type>[ length ], <expres
- 使用MS数据库的朋友就会知道一个问题,C盘的空间很容易被占满了。因为本来系统盘就分区比较小,这是由于数据库在使用过程中会使日志文件不断增加,
- 在pandas 基础操作大全之数据读取&清洗&分析 以及 pandas基础操作大全之数据合并 中介绍了p
- SQLSTATESQL SERVER 驱动程序错误描述 HY000所有绑定列都是只读的。必须是可升级的列,以使用 SQLSetPos 或 S