[Qt-qml] Animation events
michael.brasser at nokia.com
michael.brasser at nokia.com
Fri Sep 24 07:56:10 CEST 2010
On 24/09/2010, at 11:47 AM, ext Jason H wrote:
> I know I've asked something like this before, but I've never gotten anything to
> work like I wanted. Plus it's mutated over time.
> I have a collection of components. I will start an animation in the first
> component. When the animation completes, I want it to consult an external source
>
> (database, web URL, etc) to decide what component to run next, then run its
> animation. And so on.
>
> But I don't want one component calling the next because the call stack would
> just keep increasing, I want a root element doing it
>
> all.
> //main.qml
> Rectangle{
> id: root
> width: 860
> height: 540
> Loader { source: "A.qml" }
> Loader { source: "B.qml" }
> function pickNext()
> {
> // pick nect
> }
> }
> but the animation finishes and has no way (that I found) for the
> animation in A.qml to inform the root element that it is time to pick the
> next one.
> the Loader does not set the parent property of the loaded qml item.
>
> If this were C++ I'd have the A.qml emit a signal, which would be caught by
> root.
Hi,
You should be able to use the Connections element to respond to signals emitted by a Loader's item:
//main.qml
Rectangle{
id: root
width: 860
height: 540
Loader { id: loader1; source: "A.qml" }
Loader { id: loader2; source: "B.qml" }
Connections {
target: loader1.item
onAnimationFinished: pickNext()
}
function pickNext()
{
// pick nect
}
}
Regards,
Michael
More information about the Qt-qml
mailing list