QT登录界面设计

要求:
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();
}

QT登录界面设计_第1张图片

你可能感兴趣的:(qt,qt,ui,开发语言)