思维导图
2>将day1做的登录界面升级优化【资源文件的添加】
在登录界面的登录取消按钮进行一下设置:
使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数
将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为"123456",如果账号密码匹配成功,则输出“登录成功”,并关闭该界面,如果匹配失败,则输出登录失败,并将密码框中的内容清空
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ed1(new QLineEdit(this))
, ed2(new QLineEdit(this))
, ui(new Ui::Widget)
{
ui->setupUi(this);
//设置窗口
this->setWindowTitle("宝宝乐园");//设置窗口的标题
this->setWindowIcon(QIcon("C:\\Users\\lenovo\\Desktop\\图片\\pictrue\\qq.png"));//设置窗口的图标
this->resize(540,410);//重新设置窗口的大小
this->setWindowFlag(Qt::FramelessWindowHint);//设置纯净窗口(即去掉窗口头部)
this->setStyleSheet("background-color:white");//设置背景颜色
//设置标签显示动图
QLabel *l1 = new QLabel(this);//设置一个QLabel类的指针指向在堆区申请的QLabel大小的空间
l1->resize(540,200);//重新设置标签的大小
QMovie *mv = new QMovie("C:\\Users\\lenovo\\Desktop\\图片\\pictrue\\WIFI baby.gif");//实例化一个动图指针
l1->setMovie(mv);//将动图设置到标签中去
mv->start();//让动图动起来
l1->setScaledContents(true);//让图片自适应标签的大小
QLabel *l2 = new QLabel(this);//设置一个QLabel类的指针指向在堆区申请的QLabel大小的空间
l2->resize(25,25);//重新设置标签的大小
l2->move(125,250);//移动标签的位置
l2->setPixmap(QPixmap("C:\\Users\\lenovo\\Desktop\\图片\\pictrue\\wodepeizhenshi.png"));//在标签中设置图片
l2->setScaledContents(true);//让图片自动适应标签的大小
QLabel *l3 = new QLabel(this);//设置一个QLabel类的指针指向在堆区申请的QLabel大小的空间
l3->resize(25,25);//重新设置标签的大小
l3->move(125,290);//移动标签的位置
l3->setPixmap(QPixmap("C:\\Users\\lenovo\\Desktop\\图片\\pictrue\\passwd.jpg"));//在标签中设置图片
l3->setScaledContents(true);//让图片自动适应标签的大小
QLabel *l4 = new QLabel(this);//设置一个QLabel类的指针指向在堆区申请的QLabel大小的空间
l4->move(190,210);//移动标签的位置
l4->resize(280,30);//重新设置标签的大小
l4->setText("欢迎来到宝宝乐园");//设置标签文本
//设置行编辑器
//QLineEdit *ed1 = new QLineEdit(this);//设置一个QLineEdit类的指针指向在堆区申请的QLineEdit大小的空间
ed1->resize(280,30);//重新设置行编辑器的大小
ed1->setPlaceholderText("QQ号码/手机/邮箱");//设置占位
ed1->move(150,250);//移动行编辑器的位置
//QLineEdit *ed2 = new QLineEdit(this);//设置一个QLineEdit类的指针指向在堆区申请的QLineEdit大小的空间
ed2->resize(280,30);//重新设置行编辑器的大小
ed2->setPlaceholderText("密码");//设置占位
ed2->setEchoMode(QLineEdit::Password);//设置行编辑器显示模式
ed2->move(150,290);//移动行编辑器的位置
//设置按钮
QPushButton *btn1 = new QPushButton("登录",this);//设置一个QPushButton类的指针指向在堆区申请的QPushButton大小的空间
btn1->resize(70,30);//重新设置按钮的大小
btn1->move(190,330);//移动按钮的位置
btn1->setStyleSheet("background-color:skyblue;color:black");//设置按钮的背景颜色,字体颜色以及边框修剪
QPushButton *btn2 = new QPushButton("取消",this);//设置一个QPushButton类的指针指向在堆区申请的QPushButton大小的空间
btn2->resize(70,30);//重新设置按钮的大小
btn2->move(300,330);//移动按钮的位置
btn2->setStyleSheet("background-color:skyblue;color:black");//设置按钮的背景颜色,字体颜色以及边框修剪
//手动连接系统的信号和自定义的槽函数,基于qt4版本,实现点击取消按钮,执行关闭窗口
connect(btn2,SIGNAL(clicked()),this,SLOT(btn2_slot()));
//手动连接系统的信号和自定义的槽函数,基于qt5版本
connect(btn1,&QPushButton::clicked,this,&Widget::btn1_slot);
}
Widget::~Widget()
{
delete ui;
}
void Widget::btn1_slot()
{
if(ed1->text() == "admin" && ed2->text() == "123456")
{
qDebug() << "登录成功";
this->close();
}
else
{
qDebug() << "登录失败";
ed2->clear();
}
}
void Widget::btn2_slot()//槽函数的实现
{
this->close();//执行关闭窗口的函数
}