在 QML 中重新加载或重新启动后,NumberAnimation 未运行

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

我需要在信号(警告信号)来自 CAN 时在矩形内闪烁动画图像。当信号设置为警告状态时,动画工作正常,当信号按预期返回正常状态时,动画停止 但是,当出现警告信号并且我重新启动应用程序时,我发现图像没有闪烁。但是当我看到日志时,animation.running 属性是 true。

Rectangle {
    id: mainRect

    visible: warningState === normal || warningState === warning

    Image {
        id: warningIcon

        source: //path

        NumberAnimation {
            id: warnAnimation
            target: warningIcon; 
            property: "opacity";  
            from: 1.0; to: 0.0; 
            duration: 250; easing.type: 
            Easing.InQuad; loops: Animation.Infinite
            running: warningState === warning
        }
    }
}

当我重新启动时打印日志时,状态为警告,并且 warnAnimation.running 为 true,但图标没有闪烁。 任何人都可以帮助我吗? 谢谢你

animation qml
1个回答
0
投票

您可以考虑推迟

running
,直到您的申请准备就绪,例如:

NumberAnimation {
    id: warnAnimation
    target: warningIcon; 
    property: "opacity";  
    from: 1.0; to: 0.0; 
    duration: 250; easing.type: 
    Easing.InQuad; loops: Animation.Infinite
    running: loaded && warningState === warning
    property loaded: false
    Component.onCompleted: loaded = true
}
© www.soinside.com 2019 - 2024. All rights reserved.