Qt 使用QMovie加载gif图片实现动态等待窗口
生活随笔
收集整理的這篇文章主要介紹了
Qt 使用QMovie加载gif图片实现动态等待窗口
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
有時(shí)候要進(jìn)行某項(xiàng)后臺(tái)處理,但后臺(tái)處理時(shí)間很長(zhǎng),需要提示用戶等待,不妨做一個(gè)動(dòng)態(tài)等待窗口。具體實(shí)現(xiàn)過(guò)程如下:
1 自定義窗口類DlgWait
(1) 在資源中添加動(dòng)態(tài)的gif圖片,記住它的大小。
我添加的是一個(gè)“l(fā)oading.gif”圖片,大小是100x100,如下:
(2)添加一個(gè)窗口界面類DlgWait
窗口大小比gif稍大即可,如150x150
在界面上添加2個(gè)QLabel:
第一個(gè)用來(lái)顯示gif,名為lbl_gif,text為空,大小為100x100
第二個(gè)在下,用來(lái)顯示提示信息,名為lbl_text,text為“后臺(tái)處理中,請(qǐng)稍候”
如下所示:
(3) 設(shè)置DlgWait窗口無(wú)邊框,背景透明的效果,并加載gif圖片
在DlgWait的構(gòu)造函數(shù)中添加如下代碼:
setWindowFlags(Qt::FramelessWindowHint);//無(wú)邊框
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 使用該等待窗口
效果如下:
總結(jié)
以上是生活随笔為你收集整理的Qt 使用QMovie加载gif图片实现动态等待窗口的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript——变量与基本数据类
- 下一篇: SVM理解