如下图所示,一张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();
注意,开了之后得记得关闭。