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