信号和槽思维脑图+相关练习

发布于:2024-12-05 ⋅ 阅读:(129) ⋅ 点赞:(0)

将登录框中的取消按钮使用信号和槽的机制,关闭界面。

将登录按钮使用信号和槽连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为"123456",如果账号密码匹配成功,当前界面关闭,另一个界面展开。如果匹配失败,则输出登录失败,并将密码框和账号框中的内容清空

视频

import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QMessageBox
from PyQt6.QtCore import Qt
from PyQt6.uic import loadUi

class LoginWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        loadUi("./login.ui", self)  # 加载UI文件

        # 连接信号和槽
        self.pushButton_login.clicked.connect(self.login_slot)
        self.pushButton_cancel.clicked.connect(self.cancel_slot)

    def login_slot(self):
        # 获取输入的账号和密码
        username = self.lineEdit_username.text()
        password = self.lineEdit_password.text()

        # 判断账号和密码是否正确
        if username == "admin" and password == "123456":
            # 账号密码正确,关闭当前界面并打开另一个界面
            self.close()
            # 这里应该实例化并显示另一个界面,如:
            # other_window = OtherWindow()
            # other_window.show()
            QMessageBox.information(self, "登录成功", "欢迎,admin!")
        else:
            # 账号密码错误,显示错误消息并清空输入框
            QMessageBox.warning(self, "登录失败", "账号或密码错误,请重试。")
            self.lineEdit_username.clear()
            self.lineEdit_password.clear()

    def cancel_slot(self):
        # 取消按钮被点击,关闭当前界面
        self.close()

if __name__ == "__main__":
    app = QApplication(sys.argv)
    login_window = LoginWindow()
    login_window.show()
    sys.exit(app.exec())