Qt学习之路之QMovie动画「建议收藏」

Qt学习之路之QMovie动画「建议收藏」QMovie类是一个很方便的类,用于播放动画。在刷新页面的时候,可以尝试用QMovie来实现等待界面。QMovie类用于显示简单的动画,没有声音。首先,通过将一个文件的名称或者一个指针传递给QMovie的构造函数构建一个QMovie对象。传递的文件包含文件的格式。可以调用函数isValid()来检测在动画开始播放前,动画是否有效。调用函数start()函数开始播放动

大家好,又见面了,我是你们的朋友全栈君。

QMovie类是一个很方便的类,用于播放动画。在刷新页面的时候,可以尝试用QMovie 来实现等待界面。

QMovie用于显示简单动画没有声音

首先,通过将一个文件的名称或者一个指针传递给QMovie的构造函数构建一个QMovie对象。传递的文件包含文件的格式。

可以调用函数isValid()来检测在动画开始播放前,动画是否有效。

调用函数start() 函数开始播放动画,QMovie将进入运行状态,并发射started() stateChanged()信号。

当然,调用函数state() 可获取当前动画的播放状态。

比如, 用QLabel 显示动画:

QLabel label;
QMovie *movie = new QMovie("animations/fire.gif");

label.setMovie(movie);
movie->start();


每当一个动画用于新的框架中,QMovie将会发出update() 信号,若动画的发生变化,QMovie将会发出resized()信号。

调用函数 currentImage() 或者 currentPixmap() 可获取当前帧副本。

每当动画播放完毕, QMovie将会发出finished()信号。若在播放动画的过程中出现任何的错误,QMovie()将发出信号 error()

QMovie 相当强大, 它可以调用函数 setSpeed()来设置动画的播放速率,setPaused(true) 将暂停播放动画,然后发出stateChanged()信号。当然,再次向函数setPaused()传递参数 false,动画将重新播放。 停止播放动画 可调用函数 stop()

QMovie 可以通过调用 setCacheMode() 指示缓存动画


部分QMovie函数详情:

1,setSpeed()

动画的播放速率是用原始的动画速率百分比衡量默认速度 100%。例如:

Movie movie("racecar.gif");
movie.setSpeed(200); // 2x speed


这里, 动画的播放速率将回事原始速率的2倍

2,backgroundColor()

函数原型:

QColor QMovie::​backgroundColor() const


该函数将返回动画的背景色,如果没有指定背景色,那么,函数将返回一个无效的 QColor。可以调用 下面的函数设置动画的背景色

void QMovie::​setBackgroundColor(const QColor & color)


3,isValid()

函数原型:

bool QMovie::​isValid() const


如果动画有效,将返回true, 相反,则返回false

QMovie的学习就到这儿~~~~ 

下面是用QLabel对象显示QMovie动画的部分代码:

QMovie *Movie = new QMovie(":/movie/1");
	Movie->setSpeed(1000);
	Movie->setBackgroundColor(QColor(10, 10, 10));
	QLabel  *Label = new QLabel();

	Label->setMovie(Movie);
	Label->show();
	Movie->start();

运行结果:

Qt学习之路之QMovie动画「建议收藏」           Qt学习之路之QMovie动画「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148089.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • plc梯形图讲解_plc编程入门梯形图

    plc梯形图讲解_plc编程入门梯形图导读:初学PLC梯形图编程,应要遵循一定的规则,并养成良好的习惯。下面以三菱FX系列PLC为例,简单介绍一下PLC梯形图编程时需要遵循的规则,希望对大家有所帮助。有一点需要说明的是,本文虽以三菱PLC为例,但这些规则在其它PLC编程时也可同样遵守。OFweek工控网讯:初学PLC梯形图编程,应要遵循一定的规则,并养成良好的习惯。下面以三菱FX系列PLC为例,简单介绍一下PLC梯

    2022年9月10日
    2
  • Linux Platform Device and Driver,platform_add_devices()->platform_driver_register()

    Linux Platform Device and Driver,platform_add_devices()->platform_driver_register()
    来自:http://www.diybl.com/course/6_system/linux/Linuxjs/200871/129585.html
    从Linux2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。
        Linux中大部分的设备驱动,都可以使用这套机制,设备用Platform_device表示,驱动用Platform_driver进行注册。
     
       

    2022年7月24日
    10
  • 等待,是一生最初的苍老

    等待,是一生最初的苍老

    2021年8月2日
    61
  • 阿里云MQTT服务器搭建与测试(全图文,非常详细)「建议收藏」

    阿里云MQTT服务器搭建与测试(全图文,非常详细)「建议收藏」阿里云MQTT服务器搭建与测试一、MQTT概念二、阿里云MQTT服务器搭建1阿里云平台注册及认证2添加平台2创建产品与设备获取MQTT连接相关信息三、MQTT.fx测试1MQTT.fx下载及安装2配置登录信息3从MQTT.fx上报数据到阿里云服务器4阿里云下发数据到MQTT.fx一、MQTT概念MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的”轻量级”通讯协议,该

    2022年6月9日
    34
  • ubuntu桌面主题更换_更换主题的软件

    ubuntu桌面主题更换_更换主题的软件目录一、安装必要的工具二、下载主题三、更换主题一、安装必要的工具为了使下载的主题能应用于Ubuntu,我们必须在Ubuntu上安装几个工具:sudoapt-getupdatesudoapt-getinstallgnome-tweak-toolsudoapt-getinstallgnome-shell-extensions上述第三条命令若执行失败,请读者自行百度解决方案。以上命令执行完成后,我们的Ubuntu就安装了Tweak-tool工具,可以从Ubuntu的管理工具“软件”

    2022年9月16日
    2
  • Nginx + Spring Boot 实现负载均衡

    本文来源:http://8rr.co/LSUH 前言 本篇文章主要介绍的是Nginx如何实现负载均衡。 负载均衡介绍 在介绍Nginx的负载均衡实现之前,先简单的说下负载均衡的分类…

    2021年6月22日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号