Qt QML Viewer version 4.7.0, the code I've posted works on it. And your version changed the definition of blueRect component, right? :)
Br., Yu Kuifei -----Original Message----- From: Bukolt Adam (Nokia-MS/Berlin) Sent: 2011年1月28日 17:22 To: Yu Kuifei (Nokia-NRC/Beijing); Ham Christopher (Nokia-MS/Brisbane); [email protected] Subject: RE: [Qt-qml] 答复: How to change initial state of Loader's sourceComponent? Hi, Yu Kuifei's code didn't work for me, but this does, with the coloured square clickable: //import QtQuick 1.0 import Qt 4.7 Item { width: 640 height: 480 Loader { anchors.centerIn: parent sourceComponent: blueRectParent onLoaded: {item.resources[0].enabled = false; item.color = "red";} // make rect start red without fade from blue? } Component { id: blueRectParent Rectangle { color: "blue" Behavior on color { ColorAnimation { duration: 2000 } } width: 100 height: 100 MouseArea { anchors.fill: parent onClicked: {item.resources[0].enabled = true; item.color = "green"; } } } } } Regards, Adam >-----Original Message----- >From: [email protected] >[mailto:[email protected]] On >Behalf Of ext [email protected] >Sent: 28 January 2011 04:17 >To: Ham Christopher (Nokia-MS/Brisbane); [email protected] >Subject: [Qt-qml] 答复: How to change initial state of Loader's >sourceComponent? > >Disable the behavior. Ugly resources[0], but it works:) > >Br., >Yu Kuifei > >//import QtQuick 1.0 >import Qt 4.7 > Item { > width: 640 > height: 480 > > Loader { > anchors.centerIn: parent > sourceComponent: blueRect > onLoaded: {item.resources[0].enabled = false; 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 > } > } > } > >________________________________________ >发件人: [email protected] [qt-qml- >[email protected]] 代表 ext Christoper Ham >[[email protected]] >发送时间: 2011年1月28日 6:57 >收件人: [email protected] >主题: Re: [Qt-qml] How to change initial state of Loader's >sourceComponent? > >On 01/28/2011 04:27 AM, ext [email protected] 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 >> [email protected] >> 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 >_______________________________________________ >Qt-qml mailing list >[email protected] >http://lists.qt.nokia.com/mailman/listinfo/qt-qml >_______________________________________________ >Qt-qml mailing list >[email protected] >http://lists.qt.nokia.com/mailman/listinfo/qt-qml _______________________________________________ Qt-qml mailing list [email protected] http://lists.qt.nokia.com/mailman/listinfo/qt-qml
