有時候要進行某項後臺處理,但後臺處理時間很長,須要提示用戶等待,不妨作一個動態等待窗口。具體實現過程以下: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();
效果以下:圖片