QT的GUI简单交互-简单的登录项目

构造函数 LoginDialog::LoginDialog(QWidget *parent):

// 头文件 LoginDialog.h
#ifndef LOGINDIALOG_H
#define LOGINDIALOG_H
#include <QWidget>
#include <QLineEdit>
#include <QPushButton>
#include <QLabel>

class LoginDialog : public QWidget {
    Q_OBJECT
public:
    LoginDialog(QWidget *parent = nullptr);

private slots:
    void loginPressed();
private:
    QLineEdit *lineEdit1; 
   QLineEdit *lineEdit2;
}
#endif // LOGINDIALOG_

设置对话框的窗口标题为 “登录”。
创建了两个标签 label1 和 label2,分别用于显示 “用户名:” 和 “密码:”。
创建了两个单行文本框 lineEdit1 和 lineEdit2,用于用户输入用户名和密码。
设置了密码输入框 lineEdit2 的回显模式为密码模式,以隐藏输入的文本。
创建了两个按钮 loginButton 和 cancelButton,分别用于执行登录和取消操作。
使用 connect 函数将 loginButton 的点击事件与 loginPressed 槽函数连接,用于处理登录逻辑。
使用 connect 函数将 cancelButton 的点击事件与对话框的关闭函数连接,用于取消登录操作。
成员函数 LoginDialog::loginPressed():

#include "LoginDialog.h"
#include <QMessageBox>


LoginDialog::LoginDialog(QWidget *parent) : QWidget(parent) {
    setWindowTitle("登录");

    QLabel *label1 = new QLabel("用户名:", this);
    QLabel *label2 = new QLabel("密码:", this);
    label1->move(50, 10);
    label2->move(50, 50);

    lineEdit1 = new QLineEdit(this);
    lineEdit1->setPlaceholderText("请输入用户名");
    lineEdit1->move(100, 10);
    lineEdit1->resize(150, 20);

    lineEdit2 = new QLineEdit(this);
    lineEdit2->setPlaceholderText("请输入密码");
    lineEdit2->setEchoMode(QLineEdit::Password);
    lineEdit2->move(100, 50);
    lineEdit2->resize(150, 20);
    QPushButton *loginButton = new QPushButton("登录", this);
    loginButton->move(100, 90);
    QPushButton *cancelButton = new QPushButton("取消", this);
    cancelButton->move(200, 90);
    connect(loginButton, &QPushButton::clicked, this, &LoginDialog::loginPressed);
    connect(cancelButton, &QPushButton::clicked, this, &QWidget::close);

void LoginDialog::loginPressed() {
    QString username = lineEdit1->text();
    QString password = lineEdit2->text();
    if (username == "admin" && password == "admin") {
        QMessageBox::information(this, "登录成功", "欢迎管理员!");
    } else {
        QMessageBox::warning(this, "登录失败", "用户名或密码错误!");
    }
}

main:

#include <QApplication>
#include "LoginDialog.h"

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    LoginDialog loginDialog;
    loginDialog.show();

    return app.exec();
}
 

获取 lineEdit1 和 lineEdit2 中输入的用户名和密码。
进行简单的验证逻辑:如果用户名和密码都是 “admin”,则显示登录成功的信息框,否则显示登录失败的警告框。

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值