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("");
    }

}

思维导图

相关推荐
comedate24 分钟前
FMT_UNICODE 与 CUDA 编码配置专栏技术文档
c++·utf-8·nvcc
玖玥拾26 分钟前
C/C++ 基础笔记(二)
c语言·c++
秋田君1 小时前
Qt 5.12.8 下载与安装教程(附网盘资源)
开发语言·qt
故事和你911 小时前
洛谷-【动态规划2】线性状态动态规划4
开发语言·数据结构·c++·算法·动态规划·图论
不吃土豆的马铃薯1 小时前
Socket 网络编程实战教程
linux·服务器·开发语言·网络·c++·算法
零号全栈寒江独钓1 小时前
c++跨平台实现日志重定向
linux·c++·windows
小成202303202652 小时前
从C到C++
开发语言·c++
葱卤山猪2 小时前
C++17 联合体
开发语言·c++
不会C语言的男孩2 小时前
C++ Primer Plus 第9章:内存模型和名称空间
开发语言·c++
愿天垂怜2 小时前
【C++脚手架】gtest 单元测试库的介绍与使用
linux·服务器·c++·gitee·前端框架·gtest