QML之Animation

时间:2010-12-06作者:klpeng分类:Web服务器浏览:6638评论:0

       越来越喜欢QML了,太神奇了,所以决定好好的学习下。

      1、 Animation

     

      此段代码是将矩形的顶点(X,Y)坐标由(0,0)在一秒内逐渐移动到坐标(50,50),loops: Animation.Infinite指变化是无限循环的  


   

//==============================================

    Behavior Animation:


    

//Item是最常使用的QML类型,一般用作其它类型的容器,可以理解成最顶级的父类,功能类似于QtGui中的QWidget,,通常一个动画用到部分属性的变化, 官网如此解释:Any changes to these properties will trigger their animations. If x or y were bound to other properties, and those properties changed, the animation would be triggered。此段代码,在Rectangle的属性x,y定义了分别定义了行为,即当X,Y变化时,经过500ms达到目标坐标

 

//==============================================

Animation in a Signal Handler


当我试着使用注释代码的时候,使用的x,y属性值总是使用的后面的30,不知为何,而且不能绑定rect多次,即不能分别绑定x和y

 

//==============================================

单独使用Animations

Animations能作为QML对象被创建,之后可以显示的调用使用running属性或start(),stop()方法

 


 

//============================================

Transitions

顾名思义即转变,过度


When the  Rectangle   changes to the  moved   state, its  x   and  y   property values are changed by the  PropertyChanges   object, and thePropertyAnimation   defined within the  Transition   is triggered on these properties. The animation will not be applied at any time other than during the state change.

 

 

//================================================

Property Animation Elements
Property Animation 是最基础的对于属性Animation,它能被用于 real, int, color, rect, point, size, and vector3d属性。NumberAnimation, ColorAnimation, RotationAnimation and Vector3dAnimation: NumberAnimation都继承自它。 ColorAnimation and RotationAnimation提供了一些特殊的属性用于颜色和组件旋转。

 

除这些之外还有SmoothedAnimation,SpringAnimation,ParentAnimation,AnchorAnimation等

 

//========================================
Easing:
我这里就称之为缓和吧,任何基于PropertyAnimation的动画都能指定缓和属性去控制动画程缓和曲线

 

官方一个例子很好的体现了缓和动画效果:

 

 

//=========================================
Grouping Animations:
    可以使用ParallelAnimation或者SequentialAnimation将多个动画合并到动画组。
    ParallelAnimation里的动画将同时执行
    SequentialAnimation里的动画将顺序执行。

 

从以上代码可以看到三个动画顺序执行,从上到下停顿一秒后又上,如此循环

 

动画组也能够嵌套使用:

 

 

下个qt-mobility,下了三个小时居然还没下完,杯具的网速。

好了,睡觉了,明天还要上班。突然觉得这些动画比Flex的还简单些

 

 

 


打赏
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
上一篇:QML与C++交互 下一篇:QML之可视化元素
相关推荐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

猜你喜欢