Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Delayed Animations/ru: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:Learning]] | [[Category:Learning]] | ||
[[Category:HowTo]] | |||
[[Category:Developing_with_Qt::Qt Quick]] | |||
'''Русский''' [[Delayed_Animations|English]] [[Delayed_Animations_Spanish|Spanish]] [[Delayed_Animations_Italian|Italian]] [[Delayed_Animations_French|French]] [[Delayed_Animations_Japanese|日本語]] [[Delayed_Animations_Bulgarian|Български]] | '''Русский''' [[Delayed_Animations|English]] [[Delayed_Animations_Spanish|Spanish]] [[Delayed_Animations_Italian|Italian]] [[Delayed_Animations_French|French]] [[Delayed_Animations_Japanese|日本語]] [[Delayed_Animations_Bulgarian|Български]] | ||
Line 9: | Line 11: | ||
Следующий пример начинается с красного круга. Щелчок пользователя на круге, приводит к анимации круга в прямоугольник и запускает таймер. Когда таймер сработает, прямоугольник будет анимирован обратно в круг. | Следующий пример начинается с красного круга. Щелчок пользователя на круге, приводит к анимации круга в прямоугольник и запускает таймер. Когда таймер сработает, прямоугольник будет анимирован обратно в круг. | ||
<code> | <code> | ||
import QtQuick 1.0 | |||
Rectangle { | 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 { | MouseArea { | ||
anchors.fill: parent | |||
onClicked: { | |||
parent.radius = 0; | |||
reset.start() | |||
} | |||
} | |||
} | |||
</code> | |||
Следует заметить, что если вам нужна анимация сразу после предыдущей, то можно воспользоваться элементом SequentialAnimation. Этот пример скорее показывает произвольную задержку в анимации. | Следует заметить, что если вам нужна анимация сразу после предыдущей, то можно воспользоваться элементом SequentialAnimation. Этот пример скорее показывает произвольную задержку в анимации. |
Revision as of 11:05, 25 February 2015
Русский English Spanish Italian French 日本語 Български
Задержка Анимации
Вы хотите, чтобы действие пользователя (нажатие) приводило к серии отложенных событий? Например открытие и последующее закрытие списка?
Следующий пример начинается с красного круга. Щелчок пользователя на круге, приводит к анимации круга в прямоугольник и запускает таймер. Когда таймер сработает, прямоугольник будет анимирован обратно в круг.
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()
}
}
}
Следует заметить, что если вам нужна анимация сразу после предыдущей, то можно воспользоваться элементом SequentialAnimation. Этот пример скорее показывает произвольную задержку в анимации.