gpt4 book ai didi

qt - 带有 "velocity"和无限 "loops"的 QML 动画

转载 作者:行者123 更新时间:2023-12-04 00:30:18 59 4
gpt4 key购买 nike

我正在尝试组合一个动画,在该动画中我可以指定速度(而不是持续时间)并且永远循环。我想出了两个非工作示例:

FirstTry.qml

import Qt 4.7

Rectangle {
width: 100; height: 100
Text {
text: "hello"
NumberAnimation on x {
to: 50;
loops: Animation.Infinite;
duration: 50 * Math.abs(to - from)
}
}
}

我收到以下运行时警告 hello在屏幕上发疯(足够公平)。
QDeclarativeExpression: Expression "(function() { return 50 * Math.abs(to - from) })" depends on non-NOTIFYable properties: 
QDeclarativeNumberAnimation::to
QDeclarativeNumberAnimation::from

SecondTry.qml
import Qt 4.7

Rectangle {
width: 100; height: 100
Text {
text: "hello"
SmoothedAnimation on x {
to: 50;
loops: Animation.Infinite;
velocity: 50
}
}
}

这更像是一个谜 -- SmoothedAnimation只是拒绝循环!动画运行一次,然后就是这样。

所以我有以下问题:

在第一个示例中是否有合法的方法来指定速度?我明白 SmoothedAnimation源自 NumberAnimation ,所以也许在 QML 中是可能的,而不仅仅是在 C++ 中。

有没有办法让 SmoothedAnimation环形?第二个例子是没有工作错误还是我错过了什么?

有没有其他方法可以同时实现这两种行为?

最佳答案

只需明确添加“from”参数:

import Qt 4.7

Rectangle {
width: 100; height: 100
Text {
text: "hello"
NumberAnimation on x {
from: 0;
to: 50;
loops: Animation.Infinite;
duration: 50 * Math.abs(to - from)
}
}
}

关于qt - 带有 "velocity"和无限 "loops"的 QML 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5833207/

59 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com