2023年12月8日:UI登陆界面

作业

头文件

cpp 复制代码
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QMovie>
#include <QPushButton>
#include <QDebug>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;

public slots:
    void my_slots1();
    void my_slots2();

};
#endif // WIDGET_H

源文件

cpp 复制代码
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    this->setWindowFlag(Qt::FramelessWindowHint);//设置成纯净模式

    QMovie *mv1 = new QMovie(":/funny/pic_7.gif");//插入动态图片
    ui->logoLab->setMovie(mv1);
    mv1->start();
    ui->logoLab->setScaledContents(true);//自动适应

    QMovie *mv2 = new QMovie(":/funny/pic_9.gif");//插入动态图片
    ui->userNameLab->setMovie(mv2);
    mv2->start();
    ui->userNameLab->setScaledContents(true);//自动适应

    QMovie *mv3 = new QMovie(":/funny/pic_8.gif");
    ui->passwdLab->setMovie(mv3);
    mv3->start();
    ui->passwdLab->setScaledContents(true);

    ui->passwdEdit->setEchoMode(QLineEdit::Password);

    ui->userEdit->setPlaceholderText("账号");
    ui->passwdEdit->setPlaceholderText("密码");
    //使用qt4实现取消按钮关闭窗口
    connect(ui->cancelBtn,SIGNAL(),this,SLOT(my_slots1));

    //使用qt5连接自定义槽函数
    connect(ui->loginBtn,&QPushButton::clicked,this,&Widget::my_slots2);
}

Widget::~Widget()
{
    delete ui;
}
//自定义槽函数
void Widget::my_slots1()
{
    ui->cancelBtn->close();
}

void Widget::my_slots2()
{
    if(ui->userEdit->text() == "admin" & ui->passwdEdit->text() == "123456")
    {
        qDebug() << "登陆成功";
        this->close();
    }
    else
    {
        qDebug() << "登陆失败";
        ui->passwdEdit->setText("");
    }

}

思维导图

相关推荐
xiaoye-duck8 小时前
《C++ 工具库实战》gflags 命令行参数解析库详解
c++·第三方库
狂奔的sherry8 小时前
C++ 宏生成访问函数的代价:访问权限、调试和类型检查
c++·宏·编译·预处理器·类型检查
划破黑暗的第一缕曙光10 小时前
[C++]:5.STL:string(2)
java·c++·redis
小超人诞生日记12 小时前
C++ 异常机制详解:从抛出捕获到异常安全
c++·算法
多弗朗皮卡丘12 小时前
C++的IO流
开发语言·c++·io流·文件io流
xiangyun6114 小时前
C++ 手撕 shared_ptr:引用计数与控制块到底长什么样?
开发语言·c++·算法·面试·stl
SunkingYang14 小时前
C++14 vs C++17:新特性对比与用法指南
c++·新特性·用法·c++14·示例·c++17
SunkingYang15 小时前
C++ Lambda 表达式原理详解
c++·lambda·理论·原理·表达式
xiaoye-duck15 小时前
《C++ 工具库实战》GTest 单元测试:断言、全局环境、局部夹具与底层原理
c++·单元测试·第三方库
学逆向的16 小时前
C++ 匿名命名空间
开发语言·c++·网络安全