Qt 使用QMovie加载gif图片实现动态等待窗口

有时候要进行某项后台处理,但后台处理时间很长,需要提示用户等待,不妨做一个动态等待窗口。具体实现过程如下:

1 自定义窗口类DlgWait

(1) 在资源中添加动态的gif图片,记住它的大小。

我添加的是一个“loading.gif”图片,大小是100x100,如下:

loading

(2)添加一个窗口界面类DlgWait

窗口大小比gif稍大即可,如150x150

在界面上添加2个QLabel:

第一个用来显示gif,名为lbl_gif,text为空,大小为100x100

第二个在下,用来显示提示信息,名为lbl_text,text为“后台处理中,请稍候”

如下所示:

设计界面

(3) 设置DlgWait窗口无边框,背景透明的效果,并加载gif图片

在DlgWait的构造函数中添加如下代码:

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 使用该等待窗口

效果如下:

动画等待界面

转载于:https://www.cnblogs.com/xiongxuanwen/p/5417772.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值