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

}

思维导图

相关推荐
努力努力再努力wz19 分钟前
【CUDA入门系列】CUDA编程实战:设备选择、显存管理、Kernel、Stream 与 Event 全流程梳理
开发语言·c++
沫璃染墨35 分钟前
《从零入门Linux系统篇(五十八):线程篇·十一——线程安全与死锁详解:从可重入到多锁管理》
linux·服务器·开发语言·c++·驱动开发·安全·架构
郝学胜_神的一滴39 分钟前
C++ Templates 05:那些容易踩坑的技巧性基础知识
c++·visual studio
朝朝辞暮i1 小时前
C++ 第 40 章:ROS2 Publisher + Timer + Subscriber + Callback + Executor 完整闭环
开发语言·c++·算法·ros2
旖旎夜光2 小时前
LeetCode 1576: 替换所有的问号(模拟) —— 题解
c++·学习·算法·leetcode·力控
朝朝辞暮i2 小时前
C++ 第 38 课:线程、SingleThreadedExecutor、MultiThreadedExecutor、Callback Group
开发语言·c++·算法·ros2
(Charon)2 小时前
【C++面试】互斥锁与读写锁:使用场景、实现原理与写饥饿问题
c++·算法
by209992 小时前
list 的使用:把节点、位置和操作联系起来的综合叙述(上)
数据结构·c++·笔记·list
welfare9623 小时前
新号别搞:vector
c++
welfare9623 小时前
新号别搞:string
c++