Delayed Animations/it: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:Learning]]<br />[[Category:HowTo]]<br />[[Category:Developing_with_Qt::Qt Quick]] | |||
'''Italiano''' [[Delayed_Animations|English]] [[Delayed_Animations_Spanish|Spanish]] | |||
Hai mai desiderato fare in modo che quando l'utente fa clic su qualcosa, si scatenino una serie di effetti ritardati? Ad esempio, l'apertura e la chiusura di una lista? | |||
Il seguente esempio parte con un cerchio rosso. Quando l'utente fa clic sul cerchio, anima un rettangolo e fa partire un timer. Quando il timer scatta, anima il rettangolo e lo fa ritornare dentro il cerchio. | |||
<code><br />import QtQuick 1.0 | |||
Rectangle {<br /> property int time: 800<br /> property int size: 300<br /> width: size; height: size; radius: size<br /> color: "red&quot;<br /> Behavior on radius { NumberAnimation { duration: time } }<br /> Timer {<br /> id: reset<br /> interval: time;<br /> onTriggered: parent.radius = size<br /> } | |||
MouseArea {<br /> anchors.fill: parent<br /> onClicked: {<br /> parent.radius = 0;<br /> reset.start()<br /> }<br /> }<br />}<br /></code> | |||
Nota che se vuoi che l'animazione inizi subito dopo la precedente puoi usare SequentialAnimation. Questo esempio ha lo scopo di mostrare i ritardi arbitrari nelle animazioni. | |||
Revision as of 06:17, 24 February 2015
Hai mai desiderato fare in modo che quando l'utente fa clic su qualcosa, si scatenino una serie di effetti ritardati? Ad esempio, l'apertura e la chiusura di una lista?
Il seguente esempio parte con un cerchio rosso. Quando l'utente fa clic sul cerchio, anima un rettangolo e fa partire un timer. Quando il timer scatta, anima il rettangolo e lo fa ritornare dentro il cerchio.
<br />import QtQuick 1.0
Rectangle {<br /> property int time: 800<br /> property int size: 300<br /> width: size; height: size; radius: size<br /> color: "red&quot;<br /> Behavior on radius { NumberAnimation { duration: time } }<br /> Timer {<br /> id: reset<br /> interval: time;<br /> onTriggered: parent.radius = size<br /> }
MouseArea {<br /> anchors.fill: parent<br /> onClicked: {<br /> parent.radius = 0;<br /> reset.start()<br /> }<br /> }<br />}<br />
Nota che se vuoi che l'animazione inizi subito dopo la precedente puoi usare SequentialAnimation. Questo esempio ha lo scopo di mostrare i ritardi arbitrari nelle animazioni.