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

}

思维导图

相关推荐
Byron Loong1 分钟前
【逆向】AT Hook 与 Inline Hook 对比
c语言·汇编·c++
tankeven33 分钟前
C++ 算法类
c++
挨踢ren1 小时前
C++ std::function:万能函数包装器
c++
初願致夕霞1 小时前
Linux编程_应用层_HTTP与HTTPS协议
linux·c++·http·https
江公望1 小时前
Qt Q_OBJECT宏,5分钟讲清楚
qt
水云桐程序员2 小时前
C++在游戏领域的项目案例有哪些?
jvm·c++·游戏
叼烟扛炮2 小时前
C++第五讲:内存管理
c++·算法·面试·内存管理
Ricky_Theseus2 小时前
vector 与 list 区别 + 使用场景
c++
代码中介商2 小时前
C++ 异常处理完全指南
开发语言·c++
Epiphany.5562 小时前
连通块的遍历
c++·算法·蓝桥杯