Qt制作一个等待加载窗口

如下图所示,一张gif图,把它通过代码播放,达到等待效果,下面再配上一些文字也可:

直接上代码,cpp文件:

#include "loadingwidget.h"
#include "ui_loadingwidget.h"

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

    setWindowFlags(Qt::FramelessWindowHint);//无边框
    setAttribute(Qt::WA_TranslucentBackground);//背景透明

    //屏幕居中显示
    int frmX = width();
    int frmY = height();

    QDesktopWidget w;
    int deskWidth = w.width();
    int deskHeight = w.height();

    QPoint movePoint(deskWidth / 2 - frmX / 2, deskHeight / 2 - frmY / 2);
    move(movePoint);

    //加载gif图片
    QMovie *movie = new QMovie(":/new/prefix1/res/loading");
    ui->lbl_gif->setMovie(movie);
    movie->start();
}

QLoadingWidget::~QLoadingWidget()
{
    delete ui;
}

.h文件:

#include <QDialog>
#include <QDesktopWidget>
#include <QMovie>

namespace Ui {
class QLoadingWidget;
}

class QLoadingWidget : public QDialog
{
    Q_OBJECT

public:
    explicit QLoadingWidget(QWidget *parent = 0);
    ~QLoadingWidget();

private:
    Ui::QLoadingWidget *ui;
};

调用:

QLoadingWidget loadingWidget;

loadingWidget.show();

注意,开了之后得记得关闭。

猜你喜欢

转载自blog.csdn.net/qq_29844879/article/details/80215885