[Qt-qml] How to change initial state of Loader's sourceComponent?

Christoper Ham christopher.ham at nokia.com
Thu Jan 27 23:57:06 CET 2011


On 01/28/2011 04:27 AM, ext mathias.malmqvist at nokia.com wrote:
> Hi,
>
> Here's a little challenge for you all:
> If we assume changing the definition of the "blueRect" Component below is not allowed,
> is there any way to change the rest of the code such that the rectangle start out red instead
> of blue without the ColorAnimation being triggered?
>
> import QtQuick 1.0
> Item {
>      width: 640
>      height: 480
>
>      Loader {
>          anchors.centerIn: parent
>          sourceComponent: blueRect
>          onLoaded: item.color = "red"   // How make rect start out red without fade from blue?
>      }
>
>      MouseArea {
>          anchors.fill: parent
>          onClicked: loader.item.color = "green"
>      }
>
>      Component {
>          id: blueRect
>          Rectangle {
>              color: "blue"
>              Behavior on color { ColorAnimation { duration: 1000 } }
>              width: 100
>              height: 100
>          }
>      }
> }
>
>
> Cheers
> Mathias
>
> _______________________________________________
> Qt-qml mailing list
> Qt-qml at qt.nokia.com
> http://lists.qt.nokia.com/mailman/listinfo/qt-qml
It might be a bit on the messy side, but you could bind to the 'enable' 
property of the Behavior. Before you set the color, disable the 
behavior, then enable it again after.

Br,
Christopher


More information about the Qt-qml mailing list