QML-Behavior简单动画


1、Behavior概念

当一个特定的属性值变化的时候,可以用Behavior是用来定义一个默认的动画。

如在某些场景种我们可能会改动Item的一些属性如width,默认情况下,width的变化是瞬间完成的。为了让过程更加动态,我们可以为widht增加一个Behavior,设置一个变化时间,这样一个简单动画就完成了。

2、例子1

定义一个Rectangle,当鼠标点击后,其宽度在默认宽度和0之间切换,切换有个1秒的变化过程。代码:

import QtQuick 2.6
import QtQuick.Window 2.2

Rectangle {
    Rectangle {
        id: btn
        width: 100;
        height: 20;
        x:100;
        y:100;
        color: "gray"
        Behavior on width{
            NumberAnimation {
                duration: 1000
            }
        }
    }

    MouseArea {
        anchors.fill: parent
        onClicked: {
            btn.width = btn.width==100?0:100
        }
    }
}

效果:

QML