有时候要进行某项后台处理,但后台处理时间很长,须要提示用户等待,不妨作一个动态等待窗口。具体实现过程以下:less
我添加的是一个“loading.gif”图片,大小是100x100,以下:函数
窗口大小比gif稍大便可,如150x150动画
在界面上添加2个QLabel:ui
第一个用来显示gif,名为lbl_gif,text为空,大小为100x100spa
第二个在下,用来显示提示信息,名为lbl_text,text为“后台处理中,请稍候”设计
以下所示:code
在DlgWait的构造函数中添加以下代码:blog
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(":/img/loading"); ui->lbl_gif->setMovie(movie); movie->start();
效果以下:图片