未指定“on”的QML行为

问题描述 投票:1回答:1

根据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定义中,但没有任何反应。

qt qml
1个回答
0
投票

在浏览文档之后,我认为还没有其他方法可以为QML中的Behaviors指定属性,即使动画文档建议如此。

行为是属性修饰符类型更具体的属性值写入拦截器。目前行为是唯一的,请参阅:

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

© www.soinside.com 2019 - 2024. All rights reserved.