c++Qt登录页面设计

发布于:2025-02-11 ⋅ 阅读:(119) ⋅ 点赞:(0)

使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数

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

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT


signals:
    void  my_signal();//自定义一个信号,只声明,不实现
    void my_jump();//跳转页面的信号
public slots:
    void my_slot();


public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:
    void on_pushButton_clicked();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

second.h

#ifndef SECOND_H
#define SECOND_H

#include <QWidget>

namespace Ui {
class Second;
}

class Second : public QWidget
{
    Q_OBJECT

public:
    explicit Second(QWidget *parent = nullptr);
    ~Second();
public slots:
    void jump_slot();//第二个页面准备的槽函数声明
private:
    Ui::Second *ui;
};

#endif // SECOND_H

main.cpp

#include "widget.h"
#include "second.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    //实例化第二界面
    Second s;
    //连接
    QObject::connect(&w,&Widget::my_jump,&s,&Second::jump_slot);
    return a.exec();
}

widgwt.cpp

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    this->setWindowFlag(Qt::FramelessWindowHint);
    this->setAttribute(Qt::WA_TranslucentBackground);
    //点击按钮关掉窗口
    connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(my_slot()));
    //判断登录是否成功
    connect(ui->pushButton,&QPushButton::clicked,[&](){
        QString username = ui->lineEdit->text();
        QString password = ui->lineEdit_2->text();

        if (username == "admin" && password == "123456")
            {
                qDebug() << "登陆成功" ;
                // 创建并显示主窗口
                emit my_jump();
                // 关闭登录窗口
                this->close();
            }
            else
            {
               qDebug() << "登陆失败" ;
               // 清空密码输入框
                ui->lineEdit_2->clear();
            }



});

}
Widget::~Widget()
{
    delete ui;
}

void Widget::my_slot()
{
    this->close();
}


void Widget::on_pushButton_clicked()
{
}

second.cpp

#include "second.h"
#include "ui_second.h"

Second::Second(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Second)
{
    ui->setupUi(this);
}

Second::~Second()
{
    delete ui;
}
//第二个页面的槽函数实现
void Second::jump_slot()
{

    //显示第二个界面
    this->show();

}

账号密码错误输出“登陆失败”信息,并清空密码

 

账号密码正确输出“登录成功”信息,并跳转新界面,关闭登录界面

xmind


网站公告

今日签到

点亮在社区的每一天
去签到