Python基于PyQt5实现登录界面的完整流程与代码示例

落日邮差
落日邮差
发布时间:2026-10-14| 4人浏览过
原创

本文详细介绍如何使用Python的PyQt5库开发登录界面。内容涵盖PyQt5的安装方法、使用Qt Designer进行可视化界面设计、UI文件保存,以及通过Python代码加载UI并实现登录验证与主窗口跳转的完整示例。

本文介绍一个基于PyQt5库开发的登录界面模板。PyQt5是Python中用于GUI界面开发的功能强大的库。

本示例演示了如何通过登录界面成功打开主界面的实现逻辑。

在开始编写登录界面代码之前,首先介绍PyQt5的安装步骤及基本使用方法。

1. PyQt5的基本使用

安装


pip install PyQt5
pip3.5 install pyqt5-tools 

界面化操作

1. 在Windows系统的运行窗口(Win+R)中输入designer并回车,即可启动Designer工具。通常选择“Main Window”模板,点击“Create”即可创建新的窗口。

如果在Win+R中输入designer后无反应,可以直接在系统中搜索designer.exe文件来启动该程序。

2. 创建窗口后,可以利用Qt Designer快速绘制所需的界面元素。例如,通过Combo Box添加下拉选择控件;通过Push Button添加按钮;通过List Widget添加列表框;通过Table Widget添加数据表格,并在表格中设置列数(右键菜单选择Edit Items-Colums)。同时,可以调整控件位置、文字大小、背景颜色以及windowTitle属性以优化界面显示。使用快捷键Ctrl+R可以预览当前编写的GUI效果,如下图所示:

3. 点击保存按钮,生成*.ui文件。在本例中,文件名为test.ui,并保存在D:\py\deploy文件夹下。

2. 开始实现登录界面


import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
#创建主窗口
class MainWindow(QMainWindow):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.setWindowTitle('主界面')
        self.showMaximized()
#对话框
class logindialog(QDialog):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.setWindowTitle('登录界面')
        self.resize(200, 200)
        self.setFixedSize(self.width(), self.height())
        self.setWindowFlags(Qt.WindowCloseButtonHint)

        ###### 设置界面控件
        self.frame = QFrame(self)
        self.verticalLayout = QVBoxLayout(self.frame)

        self.lineEdit_account = QLineEdit()
        self.lineEdit_account.setPlaceholderText("请输入账号")
        self.verticalLayout.addWidget(self.lineEdit_account)

        self.lineEdit_password = QLineEdit()
        self.lineEdit_password.setPlaceholderText("请输入密码")
        self.verticalLayout.addWidget(self.lineEdit_password)

        self.pushButton_enter = QPushButton()
        self.pushButton_enter.setText("确定")
        self.verticalLayout.addWidget(self.pushButton_enter)

        self.pushButton_quit = QPushButton()
        self.pushButton_quit.setText("取消")
        self.verticalLayout.addWidget(self.pushButton_quit)

        ###### 绑定按钮事件
        self.pushButton_enter.clicked.connect(self.on_pushButton_enter_clicked)
        self.pushButton_quit.clicked.connect(QCoreApplication.instance().quit)

    def on_pushButton_enter_clicked(self):
        # 账号判断
        if self.lineEdit_account.text() == "":
            return

        # 密码判断
        if self.lineEdit_password.text() == "":
            return

        # 通过验证,关闭对话框并返回1
        self.accept()

#程序入门
if __name__ == "__main__":
    app = QApplication(sys.argv)
    dialog = logindialog()
    if  dialog.exec_()==QDialog.Accepted:
        the_window = MainWindow()
        the_window.show()
        sys.exit(app.exec_())

至此,关于Python通过PyQt5实现登录界面的示例代码介绍完毕。如需了解更多PyQt5登录界面相关内容,请搜索本站历史文章或继续浏览后续相关文章,感谢大家的支持!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。