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_())
【往期精彩】
● 办公自动化:几行代码将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格式!