По причине отсутствия ответов вот в этой теме:
Не работает простая анимация через YAnimator в QML
...хочу разобраться в более общем вопросе. Вопрос звучит так:
Каким образом в декларативном языке QML можно организовать запоминание предыдущего значения свойства?
То есть, задача состоит в том, чтобы перед любым изменением свойства запомнить его значение в другое свойство. Проблема в том, что существующий механизм сигналов onИмяСвойстваChanged() испускает сигнал об изменении свойства уже после его изменения. И в этом обработчике невозможно получить предыдущее значение свойства чтобы его запомнить.
----- 8< -----
UPD: Небольшое пояснение. Имеем некий тип RibbonImage. У него есть два пользовательских свойства: targetDigit и previousDigits.
Код, который находится «выше», задает значение targetDigit путем установки свойства, вот так:
RibbonImage {
targetDigit: timeString.charAt(5)
}
Отследить изменение свойства targetDigit в коде RibbonImage мы можем с помощью обработчика onTargetDigitChanged(). Но внутри него невозможно сохранить предыдущее значение targetDigit в свойство previousDigits. А невозможно потому, что это targetDigit в момент вызова обработчика уже новое. И не из чего получить предыдущее значение, чтобы его запомнить в другом свойстве.