[Qt-qml] 答复: How to change initial state of Loader's sourceComponent?
kuifei.yu at nokia.com
kuifei.yu at nokia.com
Fri Jan 28 04:16:38 CET 2011
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
}
}
}
________________________________________
发件人: qt-qml-bounces+kuifei.yu=nokia.com at qt.nokia.com [qt-qml-bounces+kuifei.yu=nokia.com at qt.nokia.com] 代表 ext Christoper Ham [christopher.ham at nokia.com]
发送时间: 2011年1月28日 6:57
收件人: qt-qml at qt.nokia.com
主题: Re: [Qt-qml] How to change initial state of Loader's sourceComponent?
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
_______________________________________________
Qt-qml mailing list
Qt-qml at qt.nokia.com
http://lists.qt.nokia.com/mailman/listinfo/qt-qml
More information about the Qt-qml
mailing list