Qt 使用QMovie加载gif图片实现动态等待窗口_*.gif 等待-程序员宅基地

技术标签: Qt  qt  等待窗口  

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

1 自定义窗口类DlgWait

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

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

这里写图片描述

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

效果如下:
这里写图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiongxuanwen/article/details/51210998

智能推荐

机器人学|手机玻璃加工全自动化——AGV+机器人+视觉解决方案(含双目三维视觉SLAM建图、MATLAB的AGV路径规划导航避障、六轴机械手臂建模与路径规划仿真,附带源代码)_agv路径规划与避障系统matlab-程序员宅基地

文章浏览阅读1k次,点赞22次,收藏30次。目标:某企业为3C部件精密加工企业,其加工的零件为手机玻璃,要求加工精度为±0.01mm,目前为人工运输至加工中心加工,由人工采用千分表在大理石平台上逐个测量实现。企业为减少人工成本,提高生产效率,要求采用自动化生产线方式实现。试调研国内外移动操作机器人现状,并作出自动化解决方案,列出主要部件BOM清单,并列出AGV+机器人+视觉形成的解决方案,列出技术点,并尝试计算采用自动化方案与采用人工方案相比,何时收回自动化生产线改造成本。_agv路径规划与避障系统matlab

【毕业设计教程】单片机发送短信消息(GMS模块) - 物联网 嵌入式 stm32_simcom 短信发送开发-程序员宅基地

文章浏览阅读7.2k次,点赞6次,收藏102次。Hi,大家好,这里是丹成学长,今天向大家介绍如何使用GMS模块,达到单片机发送短信的效果,应用场景非常广泛** 单片机发送短信消息(GMS模块)**大家可用于 课程设计 或 毕业设计单片机-嵌入式毕设选题大全及项目分享:https://blog.csdn.net/m0_71572576/article/details/125409052GSM模块使用上海SIMcom公司的SIM900高精度无线GSM/GPRS完全四频芯片,使用SMT封装且融 合了高性能的ARM926EJ-S内核。可以适应小型设备的高性价比_simcom 短信发送开发

Mybatis二级缓存的缺陷_mybatis二级缓存的缺点-程序员宅基地

文章浏览阅读1w次,点赞7次,收藏17次。Mybatis二级缓存的缺陷_mybatis二级缓存的缺点

基于微信小程序的安全教育平台面向大学生-计算机毕业设计源码85871-程序员宅基地

文章浏览阅读940次,点赞14次,收藏19次。用户管理模块:(1)注册登录:游客可以随时进入到系统中,对系统中的信息浏览,但是想要实现安全知识学习、学习签到、物品兑换等,就必须有这个系统的账号,如果没有账号的话,可以注册成员用户进行相关的操作,同时用户还可以通过“我的”这以按钮对个人信息以及操作的信息进行管控。(2)安全知识:用户谷点击导航栏中的“安全知识”进行安全知识的了解以及学习等。(3)安全测试:用户点击“安全测试”这个菜单按钮,可以在线进行安全知识的测试题测试。

【单片机毕业设计】【mcuclub-dz-191】基于单片机的GSM指纹密码锁系统设计-程序员宅基地

文章浏览阅读43次。随着科技的不断发展,人们对安全性的需求逐渐提升,特别是在门锁领域。传统的机械锁由于易于复制、钥匙笨重和易丢失等问题已不再满足安全和便利的要求。本研究致力于设计开发一种指纹密码锁,该锁具备操作便捷、安全可靠和用户权限分级等特点。本文系统地从结构、硬件电路、控制软件等方面进行了详细阐述,并通过测试验证,实现了设计目标。首先,研究了指纹密码锁的结构系统。该锁的控制方案通过程序验证用户录入的指纹或输入的密码是否有效,以实现开锁。指纹密码锁的核心在于指纹传感器,本设计所采用的单片机类型为STC12C5A60S2。具体

对抗攻击经典论文剖析(上)【FGSM、BIM、PGD、Carlini and Wagner Attacks (C&W)】_bim攻击-程序员宅基地

文章浏览阅读2w次,点赞32次,收藏147次。最近做数据增广做的心累,想要看一看对抗攻击!这个博文会对四种经典算法进行剖析,分别是FGSM、BIM、PGD、Carlini and Wagner Attacks (C&W)。对抗攻击和防御首先我们简单来说一说对抗攻击和防御的目的。攻击就是对原始样本增加扰动生成对抗版本最大化损失函数,同时扰动尽可能地小,让人类肉眼无法察觉;防御问题是基于这种攻击方法训练一个更具鲁棒性的神经网络。数学表..._bim攻击

随便推点

python调用c动态库函数_python调用C/C++动态库-程序员宅基地

文章浏览阅读803次。本文以windows环境下的.dll动态链接库为背景展开,有关linux下的.so动态链接库的相关用法会在另外一篇文章中展开讲解。1. 背景知识一直以来python都被称为胶水语言,能够轻易地操作其他程序,轻易地包装使用其他语言编写的库。下面简单介绍下如何使用python来调用C/C++编写的动态库。首先了解下动态链接库及C/C++动态库的区别。1.1 动态链接库使用VS2017创建动态链接库Dl..._python调用c语言动态库函数有unsigned char*inbuf参数类型

pads单位切换的快捷键_PADS快捷键和技巧大全-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏7次。发一些最基本常用的几个快捷键:设置通孔显示模式:D+O设置铜只显示外框形式:P+O改变当前层:L(如改当前层为第二层,为L2)测量:从当前位置开始测量:Q改变线宽:W设置栅格:G对找元件管脚或元件:S寻找绝对坐标点:S(n)(n)改变走线角度:AA任意角,AD斜角,AO直角取消当前操作:UN,如UN(1)为取消前一个操作重复多次操作:RE设计规则检查:打开: DRP,关闭:DRO,忽略设计规则:D..._pads单位切换快捷键

React Native开发坑之null is not an object (evaluating 'inst.componentWillReceiveProps')_react native nativeevent 为什么是null-程序员宅基地

文章浏览阅读5k次。最近写react native发现一个坑,出现这个错误:null is not an object (evaluating 'inst.componentWillReceiveProps')坑的是完全没有提示是哪个类出错了。后面发现在render函数里面使用了//进行注释代码~真的是醉了,JSX中是不能使用//做注释,如果一定_react native nativeevent 为什么是null

力扣java刷题学习(代码随想录学习)2_代码随想录java版本代码-程序员宅基地

文章浏览阅读405次。【代码】力扣java刷题学习(代码随想录学习)2。_代码随想录java版本代码

简单爬取京东商品名称、价格(仅供学习)_爬京东价格-程序员宅基地

文章浏览阅读3.9k次。以下内容是原创,仅供初学者学习用,京东能够开放给我们学习实在不容易,请模拟人类的行为学习爬取。一 爬取的Python源码#爬取的代码import requestsimport reimport timegoods='书包' #搜索关键字depth = 1 #搜索深度为2,即爬取第1页,第2页start_url = 'https://search.jd.com/Search?k..._爬京东价格

Linux——分析和存储日志_linux c之log存储-程序员宅基地

文章浏览阅读514次。分析和存储日志_linux c之log存储