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

}

思维导图

相关推荐
CSDN_RTKLIB15 小时前
【字符编码】有无BOM的UTF-8
c++
Chary201615 小时前
opengl 学习资料路径
c++·opengl
im_AMBER16 小时前
Leetcode 102 反转链表
数据结构·c++·学习·算法·leetcode·链表
今儿敲了吗16 小时前
01|多项式输出
c++·笔记·算法
程序员Jared16 小时前
C++11—mutex
c++
朔北之忘 Clancy16 小时前
2025 年 9 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·数学·青少年编程·题解
youyicc17 小时前
Qt连接Pg数据库
开发语言·数据库·qt
量子炒饭大师17 小时前
【C++入门】Cyber底码作用域的隔离协议——【C++命名空间】(using namespace std的原理)
开发语言·c++·dubbo
REDcker17 小时前
RTCP 刀尖点跟随技术详解
c++·机器人·操作系统·嵌入式·c·数控·机床
楚Y6同学17 小时前
基于 Haversine 公式实现【经纬度坐标点】球面距离计算(C++/Qt 实现)
开发语言·c++·qt·经纬度距离计算