2023-2-8作业

完善登录界面,登录按钮对应的槽函数中,判断所填写账户密码是否正确,默认账户“admin”,密码“123456”

如果匹配成功,则输出登录成功并关闭界面,如果登录失败,输出登录失败,并清空密码框中的内容点击取消按钮,则关闭界面


widget.h:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QDebug>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

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

private slots:
    void btn_cancel_clicked();

    void btn_login_clicked();      //自定义的槽函数

private:
    Ui::Widget *ui;

    QLabel *lab_logo;
    QLabel *lab_1;
    QLabel *lab_2;
    QLineEdit *edit_user;
    QLineEdit *edit_password;
    QPushButton *btn_login;
    QPushButton *btn_cancel;
};
#endif // WIDGET_H

main.cpp:

#include "widget.h"

#include <QApplication>

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

widget.cpp:

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

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

    //设置固定尺寸
    this->setFixedSize(479,458);

    //设置窗口icon
    this->setWindowIcon(QIcon("E:/icon/icon.png"));

    //设置窗口标题
    this->setWindowTitle("聊天室");

    //设置logo
    lab_logo = new QLabel(this);        //定义一个标签,构造时顺便指定父组件
    lab_logo->move(0,50);
    lab_logo->resize(480,120);
    lab_logo->setPixmap(QPixmap("E:/icon/logo.png"));

    //设置用户名和密码的icon
    lab_1 = new QLabel(this);
    lab_1->move(117,237);
    lab_1->resize(40,40);
    lab_1->setScaledContents(true);     //设置内容自适应
    lab_1->setPixmap(QPixmap("E:/icon/userName.jpg"));

    lab_2 = new QLabel(this);
    lab_2->move(117,317);
    lab_2->resize(40,40);
    lab_2->setScaledContents(true);       //设置内容自适应
    lab_2->setPixmap(QPixmap("E:/icon/passwd.jpg"));

    //设置用户名
    edit_user = new QLineEdit(this);
    edit_user->move(170,240);
    edit_user->resize(170,30);

    //设置密码的行编辑器为密文模式
    edit_password = new QLineEdit(this);
    edit_password->move(170,320);
    edit_password->resize(170,30);
    edit_password->setEchoMode(QLineEdit::Password);

    //设置两个按钮的icon
    btn_login = new QPushButton("登入",this);
    btn_login->move(130,390);
    btn_login->resize(89,31);
    btn_login->setIcon(QIcon("E:/icon/login.png"));

    btn_cancel = new QPushButton("取消",this);
    btn_cancel->move(260,390);
    btn_cancel->resize(89,31);
    btn_cancel->setIcon(QIcon("E:/icon/cancel.png"));

    //使用qt5版本的连接
    connect(btn_cancel, &QPushButton::clicked, this, &Widget::btn_cancel_clicked);
    connect(btn_login, &QPushButton::clicked, this, &Widget::btn_login_clicked);
}

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


void Widget::btn_cancel_clicked()
{
    QWidget::close();       //关闭界面
}

void Widget::btn_login_clicked()
{
    QString user = edit_user->text();
    QString passward = edit_password->text();
    //qDebug() << user;
    //qDebug() << passward;

    if(QString("admin")==user)
    {
        qDebug() << "用户名正确";
        if(QString("123456")==passward)
        {
            qDebug() << "登入成功";
            QWidget::close();       //关闭界面
        }
        else
        {
            qDebug() << "密码错误";
            edit_password->clear();        //清空密码
        }
    }
    else
        qDebug() << "用户名错误";
}

测试结果如下:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值