
题目:登录界面 升级优化
如果点击登录按钮,则通过信号和槽的连接,实现判断用户输入的账户和密码是否正确(账号:admin,密码123456),如果正确,则在终端输出登录成功,且关闭当前界面。如果账号或密码错误,则在终端输出登录失败,且账号和密码输入框清空。
代码:
cpp
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//设置图片
ui->touxiang_lab->setPixmap(QPixmap(":/pictrue/lan'se.jpg"));
ui->touxiang_lab->setScaledContents(true);
ui->logo_lab->setPixmap(QPixmap(":/pictrue/fj.gif"));
ui->logo_lab->setScaledContents(true);
//用动图的类 Qmovei 实例化一个动态图
QMovie *mv = new QMovie(":/pictrue/fj.gif");
QBitmap mask(116, 116);
mask.fill(Qt::color0);
QPainter painter(&mask);
painter.setBrush(Qt::color1);
painter.setRenderHint(QPainter::Antialiasing);
painter.drawEllipse(0, 0, 116, 116);
ui->touxiang_lab->setMask(mask);
ui->touxiang_lab->setStyleSheet("border: 2px solid white;");
//将动图放到标签里
ui->logo_lab->setMovie(mv);
//让动图动起来
mv->start();
//自动适应图片大小
ui->logo_lab->setScaledContents(true);
ui->userNameEdit->setPlaceholderText("手机/账号/邮箱");
//设置编辑器倒角 编辑器颜色
ui->userNameEdit->setStyleSheet("border-radius:10px;border: 2px solid white;");
ui->passwordEdit->setPlaceholderText("密码");
ui->passwordEdit->setStyleSheet("border-radius:10px;border: 2px solid white;");
ui->passwordEdit->setEchoMode(QLineEdit::Password);
//ui->uersName_lab->setPixmap(QPixmap(":/pictrue/userName.jpg"));
//ui->uersName_lab->setScaledContents(true);
//ui->password_lab->setPixmap(QPixmap(":/pictrue/userName.jpg"));
//ui->password_lab->setScaledContents(true);
//去掉窗口头部 设置纯净窗口
//去掉窗口头部 设置纯净窗口
this->setWindowFlag(Qt::FramelessWindowHint);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_btn1_clicked()
{
//获取输入的账号和密码
QString username = ui->userNameEdit->text();
QString password = ui->passwordEdit->text();
if(username == "admin" && password == "123456")
{
qDebug() << "登陆成功";
//关闭页面
this->close();
}
else
{
//清空文本编辑器中的内容
ui->passwordEdit->clear();
ui->userNameEdit->clear();
qDebug() << "账号或者密码错误重新登陆";
}
}
效果展示:
