没有指定{on}

时间:2016-10-13 09:48:13

标签: qt qml

根据Animation documentation在“默认动画为行为”一节中,他们说

  

有几种方法可以将行为动画分配给属性。

其中之一就是我们应该可以在没有Behaviour的情况下使用on property,但我没有成功使用它。

这是我的示例代码。我有一个彩色圆圈,更改颜色应触发ColorAnimation,但它不会

import QtQuick 2.5
import QtQuick.Window 2.2

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    Rectangle {
        width: 75; height: 75; radius: width
        id: ball
        color: "salmon"

        Behavior {
            ColorAnimation { target: ball; duration: 100 }
        }
    }

    Component.onCompleted: timer.start()

    Timer{
        id: timer
        onTriggered: {ball.color = "blue" }
        interval: 1000
    }
}

如果我添加on color,则可行。我还尝试将property: "color"添加到ColorAnimation定义中,但没有任何反应。

1 个答案:

答案 0 :(得分:0)

浏览更多文档后,我认为没有另一种方法可以为QML中的Behaviors指定属性,即使动画文档建议如此。

行为是属性修饰符类型,更具体地讲是属性值写拦截器。当前只有行为,请参见:

http://doc.qt.io/qt-5/qtqml-cppintegration-definetypes.html