QML动画和过度

本文介绍了QML中动画和过渡元素的使用,包括状态改变的过渡动画、串行和并行执行动画、行为动画以及如何控制动画。详细讨论了各种动画类型,如PropertyAnimation、SequentialAnimation、ParallelAnimation等,并提供了属性动画的控制方法和缓动效果。
摘要由CSDN通过智能技术生成

动画(Animation)和过度(Transition)元素

  • Transition - 状态改变的过度动画
  • SequentialAnimation - 串行执行动画
  • ParallelAnimation - 并行执行动画
  • Behavior - 为属性变化指定默认动画
  • PropertyAction - 动画中设置立即改变的属性值(Sets immediate property changes during animation)
  • PauseAnimation - 在动画中引入暂停
  • SmoothedAnimation - 运行属性平滑的过渡到一个新的值
  • SpringAnimation - 以弹跳式的方式给属性设置一个新值
  • ScriptAction - 动画中执行脚本

动画属性元素的数据类型

  • PropertyAnimation - 属性改变动画
  • NumberAnimation - qreal类型属性改变动画
  • Vector3dAnimation - QVector3d类型属性改变动画
  • ColorAnimation - 颜色改变动画
  • RotationAnimation -旋转动画
  • ParentAnimation - parent更改动画
  • AnchorAnimation - 描点改变动画

在QML中,向属性值应用animation元素来创建动画.Animation元素通过篡改属性的值来产生平滑的过度.同样,也可使用状态过度(state transition)向状态变化设置一个动画.

要创建动画,需要使用与要创建动画的属性类型相匹配的animation元素,应用的动画(animation)与需要的行为类型有关.

触发动画

有很多种方式在对象上设置动画.

直接的属性动画Direct Property Animation

要实现立即移动或动画移动,可直接设置属性值.这可以在信号处理函数或附加属性中实现

 Rectangle {
     id: blob
     width: 75; height: 75
     color: "blue"

     MouseArea {
         anchors.fill: parent
         onClicked: blob.color = "green"
     }
 }

然而,为产生更多控制,属性动画(property animation)使用在属性变化值之间进行插值实现了平滑移动.属性动画提供了定时控制和由easing curves指定的不同插值曲线.

 Rectangle
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值