要求:
1、给窗体改变名称并设置窗口图标、尺寸固定
2、中间放log图
3、用户名和密码使用图片完成
4、账户用明文模式,密码用密文模式
5、点击登录后,将界面上的用户名和“admin”比较,密码和“123456”比较,如果匹配成功,则输出登录成功,如果匹配失败,则输出“账户密码不匹配”,并清空密码框(clear)
6、点击取消后,关闭整个界面
//widget.cpp
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//设置固定大小
this->setFixedSize(650,450);
//改变窗体名称
this->setWindowTitle("客户端");
//设置窗口图标
this->setWindowIcon(QIcon("D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\logo.png"));
//上半部分背景颜色
QLabel *lab2 = new QLabel(this);
lab2->setFixedSize(650, 225);
lab2->setAutoFillBackground(true); // 开启自动填充背景色功能
QLinearGradient gradient(0, 0, 650, 225);
gradient.setColorAt(0.0, QColor(157, 116, 178)); // 渐变起始颜色为红色
gradient.setColorAt(0.5, QColor(99, 102, 178)); // 渐变中间颜色为黄色
gradient.setColorAt(1.0, QColor(95, 168, 178)); // 渐变结束颜色为绿色
QBrush brush(gradient);
QPalette palette;
palette.setBrush(QPalette::Background, brush);
lab2->setPalette(palette);
//中央logo
QLabel *lab = new QLabel;
lab->setPixmap(QPixmap("D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\1.png"));
lab->setParent(this);
lab->resize(125,125);
lab->setScaledContents(true);//设置组件内容自适应
lab->move(250,100);
//用户名logo
QLabel *lab_username = new QLabel(this);
lab_username->setPixmap(QPixmap("D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\userName.jpg"));
lab_username->resize(50,50);
lab_username->setScaledContents(true);//设置组件内容自适应
lab_username->move(100,250);
//密码logo
QLabel *lab_pswd = new QLabel(this);
lab_pswd->setPixmap(QPixmap("D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\passwd.jpg"));
lab_pswd->resize(50,50);
lab_pswd->setScaledContents(true);//设置组件内容自适应
lab_pswd->move(100,320);
//用户名
QLineEdit *line_username = new QLineEdit(this);
line_username->setPlaceholderText("请输入用户名:"); // 设置提示文本
line_username->resize(400, 50);
line_username->move(150, 250);
line_username->setStyleSheet("border: none; border-bottom: 1px solid black;");
//密码
QLineEdit *line_pswd = new QLineEdit(this);
line_pswd->setEchoMode(QLineEdit::Password);
line_pswd->resize(400,50);
line_pswd->move(150,320);
line_pswd->setStyleSheet("border: none; border-bottom: 1px solid black;");
//登录按钮
QPushButton *btn_login = new QPushButton(this);
btn_login->setIcon(QIcon("D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\login.png"));
btn_login->setIconSize(QSize(60, 60)); // 设置图标大小
btn_login->setFixedSize(60, 60); // 设置按钮大小
btn_login->move(175, 385);
btn_login->setStyleSheet("QPushButton { border: none; background-image: url(D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\login.png); background-position: center; background-repeat: none; }");
//取消按钮
QPushButton *btn_cancel = new QPushButton(this);
btn_cancel->setIcon(QIcon("D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\cancel.png"));
btn_cancel->setIconSize(QSize(60, 60)); // 设置图标大小
btn_cancel->setFixedSize(60, 60); // 设置按钮大小
btn_cancel->move(375, 385);
btn_cancel->setStyleSheet("QPushButton { border: none; background-image: url(D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\login.png); background-position: center; background-repeat: none; }");
connect(btn_login,&QPushButton::clicked,this,[=](){
QString username = line_username->text();
QString password = line_pswd->text();
if(username == "admin" && password == "123456")
{
qDebug() << "登录成功";
}
else
{
qDebug() << "账户密码不匹配";
line_pswd->clear();
}
});
connect(btn_cancel,&QPushButton::clicked,this,&Widget::clicked_cancel);
}
Widget::~Widget()
{
delete ui;
}
void Widget::clicked_cancel()
{
//点击取消后,关闭整个界面
this->close();
}
//widget.h
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//设置固定大小
this->setFixedSize(650,450);
//改变窗体名称
this->setWindowTitle("客户端");
//设置窗口图标
this->setWindowIcon(QIcon("D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\logo.png"));
//上半部分背景颜色
QLabel *lab2 = new QLabel(this);
lab2->setFixedSize(650, 225);
lab2->setAutoFillBackground(true); // 开启自动填充背景色功能
QLinearGradient gradient(0, 0, 650, 225);
gradient.setColorAt(0.0, QColor(157, 116, 178)); // 渐变起始颜色为红色
gradient.setColorAt(0.5, QColor(99, 102, 178)); // 渐变中间颜色为黄色
gradient.setColorAt(1.0, QColor(95, 168, 178)); // 渐变结束颜色为绿色
QBrush brush(gradient);
QPalette palette;
palette.setBrush(QPalette::Background, brush);
lab2->setPalette(palette);
//中央logo
QLabel *lab = new QLabel;
lab->setPixmap(QPixmap("D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\1.png"));
lab->setParent(this);
lab->resize(125,125);
lab->setScaledContents(true);//设置组件内容自适应
lab->move(250,100);
//用户名logo
QLabel *lab_username = new QLabel(this);
lab_username->setPixmap(QPixmap("D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\userName.jpg"));
lab_username->resize(50,50);
lab_username->setScaledContents(true);//设置组件内容自适应
lab_username->move(100,250);
//密码logo
QLabel *lab_pswd = new QLabel(this);
lab_pswd->setPixmap(QPixmap("D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\passwd.jpg"));
lab_pswd->resize(50,50);
lab_pswd->setScaledContents(true);//设置组件内容自适应
lab_pswd->move(100,320);
//用户名
QLineEdit *line_username = new QLineEdit(this);
line_username->setPlaceholderText("请输入用户名:"); // 设置提示文本
line_username->resize(400, 50);
line_username->move(150, 250);
line_username->setStyleSheet("border: none; border-bottom: 1px solid black;");
//密码
QLineEdit *line_pswd = new QLineEdit(this);
line_pswd->setEchoMode(QLineEdit::Password);
line_pswd->resize(400,50);
line_pswd->move(150,320);
line_pswd->setStyleSheet("border: none; border-bottom: 1px solid black;");
//登录按钮
QPushButton *btn_login = new QPushButton(this);
btn_login->setIcon(QIcon("D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\login.png"));
btn_login->setIconSize(QSize(60, 60)); // 设置图标大小
btn_login->setFixedSize(60, 60); // 设置按钮大小
btn_login->move(175, 385);
btn_login->setStyleSheet("QPushButton { border: none; background-image: url(D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\login.png); background-position: center; background-repeat: none; }");
//取消按钮
QPushButton *btn_cancel = new QPushButton(this);
btn_cancel->setIcon(QIcon("D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\cancel.png"));
btn_cancel->setIconSize(QSize(60, 60)); // 设置图标大小
btn_cancel->setFixedSize(60, 60); // 设置按钮大小
btn_cancel->move(375, 385);
btn_cancel->setStyleSheet("QPushButton { border: none; background-image: url(D:\\c++&qt\\QT\\day2\\WindowsIcon\\icon\\login.png); background-position: center; background-repeat: none; }");
connect(btn_login,&QPushButton::clicked,this,[=](){
QString username = line_username->text();
QString password = line_pswd->text();
if(username == "admin" && password == "123456")
{
qDebug() << "登录成功";
}
else
{
qDebug() << "账户密码不匹配";
line_pswd->clear();
}
});
connect(btn_cancel,&QPushButton::clicked,this,&Widget::clicked_cancel);
}
Widget::~Widget()
{
delete ui;
}
void Widget::clicked_cancel()
{
//点击取消后,关闭整个界面
this->close();
}