Qt-QLabel 添加图片并设置 GIF 图动态效果

Qt-QLabel 添加图片并设置 GIF 图动态效果

一、添加图片资源并设置图片

在这里插入图片描述
  选择标签,拖拉到界面上,然后选择器属性 picmap
在这里插入图片描述
  选择设置,在这里添加图片资源
在这里插入图片描述
  点击左边的加号符号按钮添加前缀,并设置前缀名,如果已经添加过的前缀,可以直接点击中间的符号选择图片添加图片资源,不需要的资源可以点击右边的删除按钮删除
在这里插入图片描述
  资源设置成功后,我们点击该图片资源,然后为 QLabel 控件 picmap 属性设置图片,最终效果如下:
在这里插入图片描述
  代码中我们可以调用 setPixmap(QPixmap) 方法来为 QLabel 控件设置图片,对于图片资源的路径,我们可以直接点击 资源浏览器 → 选中对应的图片 → 右键点击复制路径,也可以直接根据自己图片放的位置使用绝对或相对路径。
在这里插入图片描述

ui.label_2->setPixmap(QPixmap(QString(":/QLabel_pmx/resource/test.gif")));

这里我们会发现,我们明明为 QLabel 控件指定的 GIF 图片,但是它却是静止的,如果要设置动态效果,可以通过 QMovie 类来设置。

二、设置 GIF 动态效果

  QMovie:用于播放具有QImageReader的动画
    isValid() 检验图像数据是否有效
    start() 开始运行动态效果

  调用 QMovie需要添加头文件 QMovie,QLabel 使用 setMovie 方法调用 QMovie 对象来显示动态效果

  具体代码如下:

QLabel* qLabel = new QLabel(this);//指定其父类,在其父类中显示
//设置位置
qLabel->setGeometry(0, 0, 500, 500);
//设置背景色
qLabel->setStyleSheet("background-color:rgb(0, 0, 255)");
//添加动态图
QMovie* qMovie = new QMovie("bxg.gif");
if (qMovie->isValid()) {//使用 setMovie qLabel->setMovie(qMovie);qMovie->start();//启动动画
}

  效果如下:
在这里插入图片描述

  对于 QLabel 由于它是继承 QWidget 的,所以其也可以单独作为一个界面输出,需要调用其 show() 函数

QLabel* label_custom = new QLabel();//单独界面,不需要指定显示在对应父类上
//设置其样式表
label_custom->setStyleSheet("background-color : rgb(0, 0, 255)");
//设置动态图
QMovie* mov = new QMovie("test.gif");
label_custom->setMovie(mov);//这里需要使用指针,不然被出了函数资源就没了
mov->start();//开启动画效果
label_custom->show();//如果单独显示,show()这里必须调用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1541310.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx静态资源优化、压缩、缓存处理

一、静态资源优化配置语法 Nginx对静态资源如何进行优化配置。这里从三个属性配置进行优化: sendfile on; tcp_nopush on; tcp_nodeplay on; (1)sendfile,用来开启高效的文件传输模式。 语法sendfile on |off;默认值sendfile …

奥比中光深度相机相关使用内容

奥比中光深度相机相关使用内容 Windows平台测试官方软件关于python环境的配置1、安装CMake2、安装Visual Studio3、项目地址下载4、配置Visual Studio5、完成基于Python的SDK配置官网教学视频地址 3D视觉开发者社区 官方文档地址 效果: Windows平台测试官方软件 Window…

一文让你了解微服务契约测试

谈到微服务,大家都想到契约测试,到底什么是契约测试呢,为什么要使用契约测试呢,关于这样的文章很多,本文将结合Spring Boot让你了解微服务契约测试。 首先我们来看一下微服务,微服务是一种分布式结构&…

详细介绍MES系统的生产监控模块

MES系统的监控模块是系统的重要组成部分,它负责实时监控生产过程中的各项关键指标和数据,以确保生产活动的顺利进行和高效管理。以下是MES系统监控模块的详细介绍: 一、MES系统监控模块的主要功能 实时数据采集: 监控模块通过传…

解决uniapp开发的app,手机预览,上下滑动页面,页面出现拉伸,抖动的效果问题,

在pages.json文件里“globalStyle”下面的"app-plus"里加入"bounce": "none"即可 "app-plus": { "bounce": "none", //关闭窗口回弹效果 }

MFC -文件类控件

前言 各位师傅大家好,我是qmx_07,今天给大家讲解MFC中的文件类 MFC文件类 在MFC中,CFILE 是基本的文件操作类,提供了读取、写入、打开、关闭等操作方法主要成员函数:Open(用于打开文件,设置模式 例如 只读 只写 读…

(done) 声音信号处理基础知识(1)

来源:https://www.youtube.com/watch?viCwMQJnKk2c 声学处理应用场景如下 这个系列的内容包括如下: 作者的 slack 频道 油管主的 github repo: https://github.com/musikalkemist/AudioSignalProcessingForML

滑动条QSlider

可以在一个范围内拖动。 常用属性和方法 值 包括当前值、最大值、最小值 // 获取和设置当前值 int value() const; void setValue(int);// 获取和设置最大值 int maximum() const; void setMaximum(int);// 获取和设置最小值 int minimum() const; void setMinimum(int);//…

【深度学习】聊一聊正则化

在机器学习中,正则化是一种常用的技术,用于控制模型的复杂度,减少过拟合的风险。它通过在损失函数中引入额外的项来对模型的参数进行约束或惩罚,使模型更加简单、平滑或稀疏。我们在实际应用中,经常使用的是L1和L2正则…

内网渗透之中间人欺骗攻击-ARP攻击

ARP攻击 ARP协议简介 ARP全称为Address Resolution Protocol,即地址解析协议,它是一个根据IP地址获取物理地址的TCP/IP协议,主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定…

李宏毅2023机器学习作业HW07解析和代码分享

ML2023Spring - HW7 相关信息: 课程主页 课程视频 Kaggle link 回来了 : ) Sample code HW07 视频 HW07 PDF 个人完整代码分享: GitHub | Gitee | GitCode P.S. HW7 的代码都很易懂,可以和 2024 年的新课:生成式AI导论做一个很好的衔接&#…

高性能string库-stringzilla

这段时间在优化服务耗时问题,其中perf打出来的热点显示,有一部分热点集中在string find. 由于之前看到sonic-cpp在使用simd加速string的一些操作,所以当时我想使用AVX2实现一版strstr来加速这个过程。但是在实现过程中,碰到一些问…

【速成Redis】03 Redis 五大高级数据结构介绍及其常用命令 | 消息队列、地理空间、HyperLogLog、BitMap、BitField

前言: 上篇博客我们讲到redis五大基本数据类型(也是就下图的第一列)。 【速成Redis】02 Redis 五大基本数据类型常用命令-CSDN博客文章浏览阅读1k次,点赞24次,收藏10次。该篇适用于速成redis。本篇我们将讲解&#…

Innodb存储架构

Innodb整体存储架构 Innodb是一款兼顾性能及可靠性的存储引擎,主要分为内存存储结构和磁盘存储结构,二者分别扮演着提高性能和数据持久化的工作 内存结构中定义了缓冲池、变更缓冲区、日志缓冲区、自适应哈希四个缓冲区,它们均是为提升查询…

linux网络-----传输层

前言 一.传输层: 数据要交接应用层先通过传输层(给哪个程序发数据) 传输层作用:负责数据能够从发送端传输接收端。对于应用层来说有许多服务,传输层怎么知道把数据发给那个应用服务? 这时就有了端口号&am…

kubernetes中的认证授权

目录 一、kubernetes API访问控制 1、UserAccount与ServiceAccount (1)ServiceAccount (2)示例 二、认证(在k8s中建立认证用户) 1、创建UserAccount 2、RBAC(Role Based Access Control&…

Redis——redispluspls库——通用命令以及String类型相关接口使用

文章目录 通用命令get,setkeys插入迭代器 expire和ttltype string 类型接口set和getset NX和XXmset 和 mgetgetrange 和 setrangeincr 和 decr 通用命令 get,set void get_set_test(sw::redis::Redis& redis){//bool set(const sw::redis::StringV…

Iterative Regularized Policy Optimization with Imperfect Demonstrations

ICML 2024 paper code Intro 利用基于次优专家数据的专家策略,通过policy constraint的形式引导智能体的在线优化,同时通过利用在线高质量数据扩展专家数据,并有监督得对专家策略进行矫正。二者交替优化实现目标策略的迭代更新 Method 上述…

51单片机-红外遥控器(NEC标准)-实验(红外遥控及调速电机)

作者:Whappy 时间:2024.9.20 总结一下!基础实验到这儿里就圆满结束,历经25天,将51单片机学完并亲自手敲代码近5000行,在手敲代码过程中,明显感觉的看和敲,明显就是不同的感觉&…

STM32 通过 SPI 驱动 W25Q128

目录 一、STM32 SPI 框图1、通讯引脚2、时钟控制3、数据控制逻辑4、整体控制逻辑5、主模式收发流程及事件说明如下: 二、程序编写1、SPI 初始化2、W25Q128 驱动代码2.1 读写厂商 ID 和设备 ID2.2 读数据2.3 写使能/写禁止2.4 读/写状态寄存器2.5 擦除扇区2.6 擦除整…