当前位置: 代码迷 >> 综合 >> Qml动画过渡-Transition
  详细解决方案

Qml动画过渡-Transition

热度:25   发布时间:2023-12-12 18:10:16.0

Qml可以使用状态来驱动界面,但这种变化是“突变”的,从用户角度来说是不友好的,需要使用Transition(过渡)来使状态的变化比较平滑。

Transition的属性

from/to:指定过渡的起始和结束状态。默认值是“*”,可以匹配所有状态。

animations:动画列表,默认在Transition添加动画的执行顺序是并行的,target属性无需指定(因为State中已经指定了)。

代码实例

import QtQuick 2.0Rectangle{id:rootItemwidth:360height: 240color: "white"Rectangle{id:rectcolor: "gray"width: 50height: 50anchors.centerIn: parentMouseArea{id:mouseAreaanchors.fill: parent}//定义状态states:[State{name: "pressed"when: mouseArea.pressedPropertyChanges {target: rectcolor:"green"scale:2}}]//定义过渡transitions: [Transition {//没有设置from/to,过渡关联任何动画//比例动画NumberAnimation {property: "scale"duration: 1000easing.type: Easing.InOutQuad}//颜色变化ColorAnimation {duration: 600} }]}
}