QTimeLine类提供用于控制动画的时间轴

比如控制进度条的增长,图片,窗口的旋转,平移等等

QTimeLine有一个frameChanged(int)信号

当调用QTimeLine::start()

frameChanged(int val)里面的val值会从0到50开始递增

(前提是需要设置范围如timeLine->setFrameRange(0, 50); 也需要设置QTimeLine变化的时间timeLine = new QTimeLine(1000, this))

可以在槽函数中接受这个val值

一般使用如:

transform.translate(a, b);

transform.rotate(c);

transform.scale(d, e);

以上(a,b,c,d,e)都可以通过val的值代替或者和val做某种运算后得到

QTransform  QTransform类指定坐标系统的2D转换

其中  translate() 和 rotate() 俩函数组合实现图片旋转 , translate()设置旋转中心 , rotate() 实现旋转)

translate(设置坐标中心), scale(设置缩放比例), shear(设置b变形比例), rotate (设置旋转角度)

例子: 当点击按钮时进度条的值会从0到100使用时间是1秒

QProgressBar *progressBar = new QProgressBar (this);

progressBar->setRange(0, 100);

// 指定变化目标是谁以及变化的时间

QTimeLine *timeLine = new QTimeLine(1000, this);//设置变化时间是1秒

//指定在1秒内变化的范围 如果是(0,50)则1秒内进度条从0增加到50

//timeLine->setFrameRange(0, 50);

//设置动画的次数

timeLine->setLoopCount(3);//进度条加载3次

//设置动画的时间快慢,范围以某种速度增长(先快后慢/或者先慢后快)

timeLine->setCurveShape(QTimeLine::EaseInCurve);

//设置动画的方向(如进度条是从0增到100还是100降到0)

timeLine->setDirection(QTimeLine::Backward);

//绑定信号来改变进度条的值

connect(timeLine, SIGNAL(frameChanged(int)), progressBar, SLOT(setValue(int)));

//此按钮用来调用QTimeLine::start()函数

//需要指定开始,一般触发式,或者使用定时器

QPushButton *pushButton = new QPushButton(tr("Start animation"), this);

connect(pushButton, SIGNAL(clicked()), timeLine, SLOT(start()));

//这个可以切换时间轴的方向,也就是动画运动的方向

timeLine-> toggleDirection();

QT动画时间轴控制 QTimeLine的更多相关文章

  1. Qt动画效果的幕后英雄:QTimeLine

    其实动画的本质就是在每一定时间间隔内显示一帧图像,当这个间隔较短的时候人眼就感觉不出来了,觉得看到的是连续的影像.Qt为开发动画效果的人员提供了一个很好的时间控制类QTimeLine. QTimeLi ...

  2. 时间轴QTimeLine

    一个动画由多张静态图片组成,每一张静态图片为一帧.每隔一定时间显示一帧,如果时间间隔非常短的话,那这些静态图片就会构成一个连续影像,动画由此而来.QTimeLine提供了用于控制动画的时间轴,它在实现 ...

  3. flash时间轴声音大小控制

    A2时间轴声音大小控制: var sound:Sound = new Sound(); sound.setVolume(200); 把背景音乐放到一个影片剪辑里,剪辑起名 例如bgm_mc 声音模式为 ...

  4. 基于jQuery的时间轴鼠标悬停动画插件

    之前为大家分享了很多jquery插件,这次我们要来分享一款不太常见的jQuery插件,它是一个时间轴,时间轴上的每一个点在鼠标滑过时都可以显示该点的描述信息,并且鼠标滑过时都可以产生一定的动画特效,比 ...

  5. Qt编写自定义控件64-垂直时间轴

    一.前言 垂直时间轴控件,主要用来描述企业发展历程大事件,或者软件版本迭代历史等,通过时间节点和事件描述来直观的展示发展的过程,一般在web网页或者app中经常看到此类控件,尤其是公司的官网关于公司部 ...

  6. Laya的动画制作,整图动画,序列图动画,时间轴动画,龙骨动画

    参考: Laya动画基础 Egret帧动画工具类 版本:2.1.1.1 序列图动画 白鹭的序列图动画,使用TexureMerger合图,然后使用MovieClip类播放. Laya的话,使用图集打包工 ...

  7. Qt动画效果的实现,QPropertyAnimation

    Qt动画架构中的主要类如下图所示: 动画框架由基类QAbstractAnimation和它的两个儿子QVariantAnimation和QAnimationGroup组成.QAbstractAnima ...

  8. Qt动画与Qt坐标小记

    Qt动画 转载自: <http://jingyan.baidu.com/article/154b46315757b628ca8f4116.html> 和  <http://blog. ...

  9. Qt动画框架The Animation Framework

    动画框架是Kinetic(运动)项目的一部分,它的目标是提供一中简单的方法创建动画的和流畅的GUI.借助Qt动画属性,可以提供非常自由的动画窗体组件和其他对象(QObjects).动画框架也能被用于图 ...

随机推荐

  1. BZOJ 1086:[SCOI2005]王室联邦(DFS树分块)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1086 题意:给出n个点的树,让你对树进行分块,每块的大小范围在[b, 3b]之间. 思路:一开始想着 ...

  2. Notepad++提升工作效率小技巧

    前言 简单的提升工具效率需求可以借助Notepad编辑器实现.以前也用Python/Shell开发过本文中提到的需求,现在发现其实没有必要.本文介绍一些工作中常见的可以通过"Notepad+ ...

  3. zookeeper的客户端应用

    什么zookeeper? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供 ...

  4. Spring Cloud 之 Hystrix.

    一.概述  在微服务架构中,我们将系统拆分成了很多服务单元,各单元的应用间通过服务注册与订阅的方式互相依赖.由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依 ...

  5. .Net Core 学习路由和请求参数传递

    一.配置默认路由方式 {Controller=Home}/{action=Index}/{id?} 默认请求地址:http://localhost:xxx/home/index /id? 是可选项例如 ...

  6. nginx实战操作(常用命令及配置)

    1. nginx介绍 2. nginx常用命令 验证配置是否正确: nginx -t 查看Nginx的详细的版本号:nginx -V 查看Nginx的简洁版本号:nginx -v 启动Nginx:st ...

  7. 【题解】【合并序列(水题)P1628】

    原题链接 这道题目如果连字符串的基本操作都没学建议不要做. 学了的很简单就可以切,所以感觉没什么难度- 主要讲一下在AC基础上的优化(可能算不上剪枝) 很明显,这道题我们要找的是前缀,那么在字符串数组 ...

  8. Guid几种格式及之间的互换,以及利用Base64缩短guid的长度到22个字符和还原

    1.Guid.NewGuid().ToString("N") 结果为: 38bddf48f43c48588e0d78761eaa1ce6 2.Guid.NewGuid().ToSt ...

  9. Dapper学习笔记

    听说有个轻量化的orm Dapper,我就去了解下.试着对Sql Server和Mysql进行增删改查,体验不错.它不如EF臃肿,也比一般的封装灵活,比如我们封装了一个映射类.利用反射,在Execut ...

  10. HBase部署与使用

    HBase部署与使用 概述 HBase的角色 HMaster 功能: 监控RegionServer 处理RegionServer故障转移 处理元数据的变更 处理region的分配或移除 在空闲时间进行 ...