Hi to all,
I'm working on a project that use Qt 5.9.2 on RPi3B+, with eglfs platform.
Here a full working code:
import QtQuick 2.9
import QtQuick.Window 2.3
Window {
visible: true
property real _degree: 0
property real _time: 50
Component.onCompleted: move()
function move()
{
_degree += 360 / 12
animStep.start()
}
Image {
source: "file:///home/pi/resources/images/needle.png"
x: 300
y: 400
transform: Rotation {
id: rotSpin
origin.x: 62
origin.y: 194
}
}
SequentialAnimation {
id: animStep
NumberAnimation { target: rotSpin; property: "angle";
easing.type: Easing.Linear; to: _degree; duration: _time; }
onStopped: move()
}
}
The purpose of this code is to animate an image like a clock hand. Of
course this is a simple example, my actual code is more complex. The
approach is to animate the needle for 30 degrees (360 / 12) and then
advance for other 30 degrees. This is because I will need to stop the
animation when certain conditions are met (i.e. I cannot set the
animation 'to' property to 360 * N)
It works fine if the duration property is above about 45 ms. Below this
threshold the animation doesn't speed up anymore. The docs say nothing
about a minimum value.
I'm aware the refresh rate of the monitor doesn't allow faster
animation, but I would expect the animation would complete in the given
time (duration) even without any intermediate frames.
The problem here is instead it takes the same amount of time! I mean,
even if I set duration = 10 ms, it take the same amount of time like
when duration = 40 ms. Hence, I think it would complete a whole cycle in
120 ms, instead it takes something like 480 ms!
Is there a way to force PropertyAnimation to honor the duration property
even if it cannot draw intermediate frames?
Best regards
Marco
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest