QtDay3

完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面

如果账号和密码不匹配,弹出错误对话框,给出信息”账号和密码不匹配,是否重新登录“,并提供两个按钮Yes|No,用户点击Yes后,清除密码框中的内容,继续让用户进行登录,如果用户点击No按钮,则直接关闭登录界面

如果用户点击取消按钮,则弹出一个问题对话框,给出信息”您是否确定要退出登录?“,并给出两个按钮Yes|No,用户迪纳基Yes后,关闭登录界面,用户点击No后,关闭对话框,继续执行登录功能

要求:基于属性版实现

#include "widget.h"
#include "ui_widget.h"
 
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
    ,but1(new QPushButton("登录",this))
    ,edit1(new QLineEdit(this))
    ,edit2(new QLineEdit(this))
{
    ui->setupUi(this);
 
    //********************窗口栏******************
 
    this->setWindowFlag(Qt::FramelessWindowHint);  //将窗口栏设为无;
    this->resize(1080,600); //设置窗口的大小
    this->setWindowIcon(QIcon(":/pictrue/3353e4f9662dd5b2229678604621ce5.png"));
    this->setStyleSheet("background-color:rgb(11,11,11)");//设置窗口底色
 
    //*****************设置标签*******************
    QLabel *lab1 = new QLabel(this); //申请空间
    lab1->resize(160,180); //设置标签大小
    lab1->setStyleSheet("background-color:black");//设置颜色
    lab1->move(450,0);//移动标签位置
    lab1->setPixmap(QPixmap(":/pictrue/3353e4f9662dd5b2229678604621ce5.png"));
    lab1->setScaledContents(true); //自动适应
 
 
 
 
    QLabel *lab2 = new QLabel(this);
    lab2->resize(50,50);
    lab2->move(470,200);
    lab2->setStyleSheet("color:white");
    lab2->setText("WeGame");
 
    QLabel *lab3 = new QLabel(this);
    lab3->move(450,450);
    lab3->resize(80,20);
    lab3->setText("保存密码");
    lab3->setStyleSheet("color:white");
 
    QLabel *lab4 = new QLabel(this);
    lab4->move(550,450);
    lab4->resize(80,20);
    lab4->setText("自动登录");
    lab4->setStyleSheet("color:white");
 
    QLabel *lab5 = new QLabel(this); //申请空间
    lab5->resize(350,610); //设置标签大小
    lab5->setStyleSheet("background-color:white");//设置颜色
    //移动标签位置
    lab5->setPixmap(QPixmap(":/pictrue/b47439a56bfaaa4dc573e2ab34618348.png"));
    lab5->setScaledContents(true); //自动适应
 
    QLabel *lab6 = new QLabel(this); //申请空间
    lab6->resize(350,610); //设置标签大小
    lab6->setStyleSheet("background-color:white");//设置颜色
    lab6->move(730,0); //移动标签位置
    lab6->setPixmap(QPixmap(":/pictrue/55c5a8474a7169ba938c825614077d27.png"));
    lab6->setScaledContents(true); //自动适应
 
    //*************** 设置行编辑器 **********************
  //  QLineEdit *edit1 =new QLineEdit(this);
    edit1 ->resize(250,50);
    edit1 ->move(400,300);
    edit1 ->setStyleSheet("background-color:rgb(0.0)");
    edit1 ->setPlaceholderText("QQ账号/手机号");
 
//    QLineEdit *edit2 =new QLineEdit(this);
    edit2 ->resize(250,50);
    edit2 ->move(400,370);
    edit2 ->setStyleSheet("background-color:rgb(0.0)");
    edit2 ->setPlaceholderText("密码");
    edit2 ->setEchoMode(QLineEdit::Password);
 
 
    //****************设置按钮 *********************
   // QPushButton *but1 = new QPushButton("登录",this);
    but1 ->resize(250,50);
    but1 ->move(400,470);
    but1->setStyleSheet("background-color:orange;color:black");
 
    QPushButton *but2 = new QPushButton("快速安全登录",this);
    but2 ->resize(100,20);
    but2 ->move(470,540);
    but2->setStyleSheet("background-color:black;color:white");
 
    connect(but1,SIGNAL(clicked()),this,SLOT(my_slots()));
}
 
Widget::~Widget()
{
    delete ui;
}
 
 
void Widget::on_ExitpushButton_clicked()
{
    QMessageBox exit(QMessageBox::Information,"选择","您是否要真的退出",QMessageBox::Yes | QMessageBox::No,this);
    int reg3 = exit.exec();
    if(reg3 == QMessageBox::Yes)
    {
        this->close();
    }
    else
    {
        exit.close();
    }
 
}
 
void Widget::my_slots()
{
 
    if((edit1->text() =="admin")&&(edit2->text()=="123456"))
    {
        QMessageBox msg(QMessageBox::NoIcon,"登录","登录成功",QMessageBox::Ok,this);
        int reg =msg.exec();
        msg.setStyleSheet("background-color:rgb(74,186,171)");
        msg.setStyleSheet("color:white");
        if(reg == QMessageBox::Ok)
        {
            this->close();
        }
 
    }
    else
    {
        QMessageBox msg2(QMessageBox::Critical,"错误","账号密码不匹配,是否重新登录",QMessageBox::Yes|QMessageBox::No,this);
        int reg2 = msg2.exec();
        if(reg2 == QMessageBox::Yes)
        {
            edit1->clear();
            edit2->clear();
        }
        else {
            this->close();
        }
    }
 
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值