Qt 使用QMovie加載gif圖片實現動態等待窗口

有時候要進行某項後臺處理,但後臺處理時間很長,須要提示用戶等待,不妨作一個動態等待窗口。具體實現過程以下:less

1 自定義窗口類DlgWait

(1) 在資源中添加動態的gif圖片,記住它的大小。

我添加的是一個「loading.gif」圖片,大小是100x100,以下:函數

loading

(2)添加一個窗口界面類DlgWait

窗口大小比gif稍大便可,如150x150動畫

在界面上添加2個QLabel:ui

第一個用來顯示gif,名爲lbl_gif,text爲空,大小爲100x100spa

第二個在下,用來顯示提示信息,名爲lbl_text,text爲「後臺處理中,請稍候」設計

以下所示:code

設計界面

(3) 設置DlgWait窗口無邊框,背景透明的效果,並加載gif圖片

在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();

 

 

2 使用該等待窗口

效果以下:圖片

動畫等待界面

相關文章
相關標籤/搜索