Delayed Animations/it

From Qt Wiki
Jump to navigation Jump to search


Italiano English 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.

import QtQuick 1.0

Rectangle {
 property int time: 800
 property int size: 300
 width: size; height: size; radius: size
 color: "red"
 Behavior on radius { NumberAnimation { duration: time } }
 Timer {
 id: reset
 interval: time;
 onTriggered: parent.radius = size
 }

MouseArea {
 anchors.fill: parent
 onClicked: {
 parent.radius = 0;
 reset.start()
 }
 }
}

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.