作业:完善登录界面
源文件
cpp
#include "widget.h"
#include "ui_widget.h"
#include<QDebug>
#include<QLabel>
#include<QMessageBox>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
this->setWindowTitle("登录界面");
this->setWindowIcon(QIcon("D:\\wjl\\C++\\Qt\\day01\\01d\\pictrue\\qq")); //设置窗口图标
ui->btn1->setIcon(QIcon("D:\\wjl\\C++\\Qt\\day01\\01d\\pictrue\\login"));//设置图标
ui->btn1->setEnabled(true);//设置自适应
ui->btn2->setIcon(QIcon("D:\\wjl\\C++\\Qt\\day01\\01d\\pictrue\\cancel"));//设置图标
ui->btn2->setEnabled(true);//设置自适应
ui->lineEdit_2->setPlaceholderText("QQ号/手机号/邮箱");
ui->lineEdit->setPlaceholderText("输入密码");
ui->lineEdit->setEchoMode(QLineEdit::Password); //设置回显模式
ui->label->setPixmap(QPixmap("D:\\wjl\\C++\\Qt\\day01\\01d\\pictrue\\logo"));
ui->label->setScaledContents(true);
ui->label_3->setPixmap(QPixmap("D:\\wjl\\C++\\Qt\\day01\\01d\\pictrue\\userName"));
ui->label_3->setScaledContents(true);
ui->label_2->setPixmap(QPixmap("D:\\wjl\\C++\\Qt\\day01\\01d\\pictrue\\passwd"));
ui->label_2->setScaledContents(true);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_btn1_clicked()
{
if(ui->lineEdit->text()==ui->lineEdit_2->text())
{
QMessageBox box(QMessageBox::Information, //图标,信息图标
"信息", //对话框标题
"登录成功", //对话框文本内容
QMessageBox::Ok, //对话框提供的按钮
this); //父组件
//3、显示对话框:并返回用户点击的那个按钮值
int btn = box.exec();
//4、判断用户点击的按钮值
if(btn == QMessageBox::Ok)
{
box.close();
}
this->close();
emit jump();
qDebug()<<"登录成功";
}
else
{
//调用静态成员函数来完成对话框
int btn = QMessageBox::warning(this,
"警告", //对话框标题
"账号和密码不匹配,是否重新登录", //对话框文本
QMessageBox::Yes|QMessageBox::No, //提供的按钮
QMessageBox::Yes); //默认按钮
//2、对用户点击的按钮进行判断
if(btn == QMessageBox::Yes)
{
ui->lineEdit->clear();
}
else if(btn==QMessageBox::No)
{
this->close();
}
}
}
void Widget::on_btn2_clicked()
{
QMessageBox box(QMessageBox::Question, //图标,问题图标
"问题", //对话框标题
"是否退出登录?", //对话框文本内容
QMessageBox::Yes|QMessageBox::No, //对话框提供的按钮
this);
//3、显示对话框:并返回用户点击的那个按钮值
int btn = box.exec();
if(btn == QMessageBox::Yes)
{
this->close();
}else if(btn == QMessageBox::No)
{
box.close();
}
}