[Interest] Loader seems to be blocking animation

VStevenP vstevenpavao at yahoo.com
Thu Dec 12 15:22:02 CET 2013


When I try to use this new sytnax, I see the following run-time error, and the animation doesn't happen.  Any idea what I can do to avoid this error and get the animation to work?

assets:/qml/WidgetsGallery/Widgets/PageTabsPane.qml:119 ((null)): assets:/qml/WidgetsGallery/Widgets/PageTabsPane.qml:119:9: QML YAnimator: setRunning() cannot be used on non-root animation nodes.

- VStevenP


----- Original Message -----
From: Sletta Gunnar <Gunnar.Sletta at digia.com>
To: VStevenP <vstevenpavao at yahoo.com>; "interest at qt-project.org" <interest at qt-project.org>
Cc: 
Sent: Wednesday, December 11, 2013 3:38 AM
Subject: SV: [Interest] Loader seems to be blocking animation

Though you set the animation to running, it needs to sync up with the renderthread for it to actually start. As you trigger the loader right away, the animation doesn't actually get to start. If you change it into something like this it will work:

        ParallelAnimation {
            id: animation

            SequentialAnimation {
                PauseAnimation { duration: 20; }
                ScriptAction { script: loadMyPage(); }
            }

            YAnimator {
                id: highlighterRectAnimator
                target: highlighterRect
                duration: 250
            }
        }

cheers,
Gunnar

________________________________________
Fra: interest-bounces+gunnar.sletta=digia.com at qt-project.org [interest-bounces+gunnar.sletta=digia.com at qt-project.org] på vegne av VStevenP [vstevenpavao at yahoo.com]
Sendt: 10. desember 2013 21:24

To: Sletta Gunnar; interest at qt-project.org
Emne: Re: [Interest] Loader seems to be blocking animation

I switched over to using the new YAnimator type for my icon highlighter rectangle.  The animation works, but it's still blocked by the QML Loader, on both Android and Mac Desktop.

I got rid of all the old-style states and transitions syntax, and simply switched over to the following syntax:


...

    property int currentTab: 0

    Rectangle {
        id: pageTabs
        anchors.fill: parent
        color: "darkgrey"

        Rectangle {
            id: highlighterRect
            width: pageTabsPane.width

            height: pageTabsPane.width  // a square
            color: "black"

            YAnimator {
                id: highlighterRectAnimator
                target: highlighterRect
                duration: 40
            }

            Component.onCompleted {
                y = homeIcon.y
            }
        }

        PageTabIcon {
            id: homeIcon
            source:"img/homeIcon.svg"

            onPageTabIconClicked: {
                highlighterRectAnimator.from = highlighterRect.y
                highlighterRectAnimator.to = homeIcon.y
                highlighterRectAnimator.running = true
                currentTab = Common.PageView.Home
            }
        }

        PageTabIcon {
            id: mixIcon
            y: pageTabsPane.width
            source: "img/mixIcon.svg"

            onPageTabIconClicked: {
                highlighterRectAnimator.from = highlighterRect.y
                highlighterRectAnimator.to = mixIcon.y
                highlighterRectAnimator.running = true
                currentTab=Common.PageView.Mix
            }
        }
...
}

Is this the wrong syntax?  It's the one syntax I figured out that seemed to cause the Yanimation to work for animating the highlighted background from icon to icon.

- VStevenP


----- Original Message -----
From: Sletta Gunnar <Gunnar.Sletta at digia.com>
To: VStevenP <vstevenpavao at yahoo.com>; "interest at qt-project.org" <interest at qt-project.org>
Cc:
Sent: Tuesday, December 10, 2013 8:43 AM
Subject: SV: [Interest] Loader seems to be blocking animation

You want to have a look at the new Animator types introduced in Qt 5.2. These run on the render thread and won't be blocked when the loader is running.

http://doc-snapshot.qt-project.org/qt5-stable/qtquick-statesanimations-topic.html#animators

cheers,
Gunnar
_______________________________________________
Interest mailing list
Interest at qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest




More information about the Interest mailing list