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

From Qt Wiki
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]]
[[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><br />import QtQuick 1.0
<code>
import QtQuick 1.0


Rectangle {<br /> property int time: 800<br /> property int size: 300<br /> width: size; height: size; radius: size<br /> color: &quot;red&amp;quot;<br /> Behavior on radius { NumberAnimation { duration: time } }<br /> Timer {<br /> id: reset<br /> interval: time;<br /> onTriggered: parent.radius = size<br /> }
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 {<br /> anchors.fill: parent<br /> onClicked: {<br /> parent.radius = 0;<br /> reset.start()<br /> }<br /> }<br />}<br /></code>
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. Этот пример скорее показывает произвольную задержку в анимации.