Русский English Spanish Italian French 日本語 Български

Задержка Анимации

Вы хотите, чтобы действие пользователя (нажатие) приводило к серии отложенных событий? Например открытие и последующее закрытие списка?

Следующий пример начинается с красного круга. Щелчок пользователя на круге, приводит к анимации круга в прямоугольник и запускает таймер. Когда таймер сработает, прямоугольник будет анимирован обратно в круг.

  1. import QtQuick 1.0
  2.  
  3. Rectangle {
  4.     property int time: 800
  5.     property int size: 300
  6.     width: size; height: size; radius: size
  7.     color: "red"
  8.     Behavior on radius { NumberAnimation { duration: time } }
  9.     Timer {
  10.         id: reset
  11.         interval: time;
  12.         onTriggered: parent.radius = size
  13.     }
  14.  
  15.     MouseArea {
  16.         anchors.fill: parent
  17.         onClicked: {
  18.             parent.radius = 0;
  19.             reset.start()
  20.         }
  21.     }
  22. }

Следует заметить, что если вам нужна анимация сразу после предыдущей, то можно воспользоваться элементом SequentialAnimation. Этот пример скорее показывает произвольную задержку в анимации.

Связанная ветка форума: http://qt-project.org/forums/viewthread/2085/

Categories: