2022.12.13---qt实现登录界面

        点击登录按钮,如果账户和密码匹配,则弹出一个信息对话框,提示消息“恭喜你登录成功”,提供一个ok按钮,用户点击ok后,整个页面关闭。
        如果账户和密码不匹配,则弹出一个问题对话框,提示消息“账号和密码不匹配,是否重新登录?”,并提供两个按钮,分别是yes和no; 如果用户点击yes,则清空行编辑器中的内容,允许用户继续登录,如果点击no,则关闭整个页面
        点击取消按钮,直接弹出一个警告对话框,提示消息“您是否确认要退出登录”,提供两个按钮,分别是yes和no;如果用户点击yes,则关闭整个页面,如果用户点击no,则进行进行登录

//头文件
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include<QIcon>
#include <QMessageBox>

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 on_pushButton_cancel_clicked();

    void on_pushButton_login_clicked();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H
//源文件
#include "widget.h"
#include "ui_widget.h"

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

    //设置整个窗口
    this->setFixedSize(500,300);        //设置窗口大小
    this->setWindowIcon(QIcon(":/icon/haha.png"));      //设置窗口图标
    this->setWindowTitle("我的窗口");       //设置窗口标题
    //this->setStyleSheet(QString::fromUtf8("background-color: rgb(17, 77, 77);"));

    //设置logo标签
    //ui->label_logo->setFixedSize(500,100);
    ui->label_logo->setGeometry(0,0,500,120);       //设置logo位置及大小
    ui->label_logo->setPixmap(QPixmap(":/icon/logo.png"));      //设置logo图片
    ui->label_logo->setScaledContents(true);        //设置内容自适应大小

    //设置账户标签
    ui->label_account->setFixedSize(20,20);     //设置标签固定大小
    ui->label_account->setPixmap(QPixmap(":/icon/userName.jpg"));
    ui->label_account->setScaledContents(true);

    //设置密码标签
    ui->label_password->setFixedSize(20,20);
    ui->label_password->setPixmap(QPixmap(":/icon/passwd.jpg"));
    ui->label_password->setScaledContents(true);

    //设置登录按钮
    ui->pushButton_login->setIcon(QIcon(":/icon/login.png"));       //设置图标
    ui->pushButton_login->setText("登录");        //设置标签文本

    //设置取消按钮
    ui->pushButton_cancel->setIcon(QIcon(":/icon/cancel.png"));
    ui->pushButton_cancel->setText("取消");

    //设置行编辑器模式
    ui->lineEdit_password->setEchoMode(QLineEdit::Password);
}

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

//登录按钮的槽函数
void Widget::on_pushButton_login_clicked()
{
    //获取用户在行编辑器输入的帐号和密码
    QString account(ui->lineEdit_account->text());
    QString password(ui->lineEdit_password->text());
    if(account=="admin" && password=="1234567")     //判断是否登录成功
    {
        //弹出“登陆成功”对话框
        QMessageBox box(QMessageBox::Information,"Information","登陆成功",QMessageBox::Ok);
        box.exec();
        this->close();      //关闭整个页面
    }
    else
    {
        //弹出对话框询问用户是否继续登录
        QMessageBox box(QMessageBox::Question,"Question","帐号和密码不正确,是否重新登录",
                        QMessageBox::Yes|QMessageBox::No);
        int res=box.exec();
        if(res==QMessageBox::Yes)
        {
            //清空行编辑器中的内容
            ui->lineEdit_account->clear();
            ui->lineEdit_password->clear();
        }
        else if(res==QMessageBox::No)
            this->close();
    }
}

//取消按钮对应的槽函数
void Widget::on_pushButton_cancel_clicked()
{
    //弹出对话框询问用户是否退出登录
    QMessageBox box(QMessageBox::Warning,"Waring","请确认是否退出登录",
                    QMessageBox::Yes|QMessageBox::No);
    int res=box.exec();
    if(res==QMessageBox::Yes)
        this->close();
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值