Я пытаюсь собрать анимацию, в которой я могу указать скорость (а не продолжительность) и которая зацикливается навсегда.Я придумал два нерабочих примера:
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
?Во втором примере не работает ошибка или я что-то упускаю?
Есть ли другой способ достижения этих двух вариантов поведения одновременно?