Animation QML Type
Ist die Basis für alle QML-Animationen. Mehr...
| Import Statement: | import QtQuick |
| Inherited By: | 23 typesAnchorAnimation, Animator, ColorAnimation, NumberAnimation, OpacityAnimator, ParallelAnimation, ParentAnimation, PathAnimation, PauseAnimation, PropertyAction, PropertyAnimation, QuaternionAnimation, RotationAnimation, RotationAnimator, ScaleAnimator, ScriptAction, SequentialAnimation, SmoothedAnimation, SpringAnimation, UniformAnimator, Vector3dAnimation, XAnimator, and YAnimator |
Eigenschaften
- alwaysRunToEnd : bool
- loops : int
- paused : bool
- running : bool
Signale
Methoden
Detaillierte Beschreibung
Der Typ Animation kann nicht direkt in einer QML-Datei verwendet werden. Er dient dazu, eine Reihe gemeinsamer Eigenschaften und Methoden bereitzustellen, die für alle anderen Animationstypen, die von ihm erben, verfügbar sind. Der Versuch, den Typ Animation direkt zu verwenden, führt zu einem Fehler.
Dokumentation der Eigenschaften
alwaysRunToEnd : bool
Diese Eigenschaft legt fest, ob die Animation bis zum Ende laufen soll, wenn sie angehalten wird.
Wenn dieser Wert true ist, wird die Animation ihre aktuelle Iteration beenden, wenn sie gestoppt wird - entweder durch Setzen der Eigenschaft running auf false oder durch Aufruf der Methode stop(). Die Methode complete() wird durch diesen Wert nicht beeinträchtigt.
Dieses Verhalten ist besonders nützlich, wenn die Eigenschaft loops gesetzt ist, da die Animation dann normal zu Ende abgespielt, aber nicht neu gestartet wird.
Standardmäßig ist die Eigenschaft alwaysRunToEnd nicht festgelegt.
Hinweis: alwaysRunToEnd hat keine Auswirkungen auf Animationen in einer Transition.
loops : int
Diese Eigenschaft gibt an, wie oft die Animation abgespielt werden soll.
Standardmäßig ist loops auf 1 gesetzt: die Animation wird einmal durchgespielt und dann angehalten.
Wenn sie auf Animation.Infinite gesetzt ist, wird die Animation so lange wiederholt, bis sie explizit gestoppt wird - entweder durch Setzen der Eigenschaft running auf false oder durch Aufruf der Methode stop().
Im folgenden Beispiel dreht sich das Rechteck unendlich lange.
Rectangle { width: 100; height: 100; color: "green" RotationAnimation on rotation { loops: Animation.Infinite from: 0 to: 360 } }
paused : bool
Diese Eigenschaft gibt an, ob die Animation derzeit angehalten ist.
Die Eigenschaft paused kann festgelegt werden, um deklarativ zu steuern, ob eine Animation angehalten wird oder nicht.
Animationen können auch über JavaScript mit den Methoden pause() und resume() angehalten und fortgesetzt werden.
Standardmäßig werden Animationen nicht angehalten.
running : bool
Diese Eigenschaft gibt an, ob die Animation gerade läuft.
Die Eigenschaft running kann festgelegt werden, um deklarativ zu steuern, ob eine Animation läuft oder nicht. Im folgenden Beispiel wird ein Rechteck animiert, wenn die Taste MouseArea gedrückt wird.
Rectangle { width: 100; height: 100 NumberAnimation on x { running: myMouse.pressed from: 0; to: 100 } MouseArea { id: myMouse } }
Ebenso kann die Eigenschaft running ausgelesen werden, um festzustellen, ob die Animation läuft. Im folgenden Beispiel zeigt das Element Text an, ob die Animation läuft oder nicht.
NumberAnimation { id: myAnimation }
Text { text: myAnimation.running ? "Animation is running" : "Animation is not running" }Animationen können auch zwingend von JavaScript aus gestartet und gestoppt werden, indem die Methoden start() und stop() verwendet werden.
Standardmäßig werden Animationen nicht ausgeführt. Wenn die Animationen jedoch Eigenschaften zugewiesen werden, werden sie als Eigenschaftswertquellen mit der on-Syntax standardmäßig auf laufend gesetzt.
Signal-Dokumentation
finished()
Dieses Signal wird ausgesendet, wenn die Animation auf natürliche Weise beendet wurde.
Es wird nicht ausgegeben, wenn running auf false gesetzt ist, und auch nicht bei Animationen, deren Eigenschaft loops auf Animation.Infinite gesetzt ist.
Außerdem wird es nur bei eigenständigen Animationen der obersten Ebene ausgegeben. Es wird nicht für Animationen in einem Behavior oder einer Transition oder für Animationen, die Teil einer Animationsgruppe sind, ausgegeben.
Wenn alwaysRunToEnd wahr ist, wird dieses Signal nicht ausgegeben, bis die Animation ihre aktuelle Iteration abgeschlossen hat.
Hinweis: Der entsprechende Handler ist onFinished.
Siehe auch stopped(), started(), und running.
started()
Dieses Signal wird ausgesendet, wenn die Animation beginnt.
Es wird nur für eigenständige Animationen der obersten Ebene ausgelöst. Es wird nicht für Animationen in einem Verhalten oder einer Transition oder für Animationen, die Teil einer Animationsgruppe sind, ausgelöst.
Hinweis: Der entsprechende Handler ist onStarted.
stopped()
Dieses Signal wird ausgegeben, wenn die Animation endet.
Die Animation kann manuell gestoppt worden sein oder bis zum Ende gelaufen sein.
Es wird nur für eigenständige Animationen der obersten Ebene ausgelöst. Es wird nicht für Animationen in einem Verhalten oder einer Transition oder für Animationen, die Teil einer Animationsgruppe sind, ausgelöst.
Wenn alwaysRunToEnd wahr ist, wird dieses Signal nicht ausgegeben, bis die Animation ihre aktuelle Iteration abgeschlossen hat.
Hinweis: Der entsprechende Handler ist onStopped.
Dokumentation der Methode
void complete()
Hält die Animation an und springt zu den endgültigen Eigenschaftswerten.
Wenn die Animation nicht läuft, hat der Aufruf dieser Methode keine Wirkung. Die Eigenschaft running wird nach einem Aufruf von complete() auf false gesetzt.
Im Gegensatz zu stop() spult complete() die Animation sofort bis zu ihrem Ende vor. Im folgenden Beispiel,
Rectangle { NumberAnimation on x { from: 0; to: 100; duration: 500 } }
Der Aufruf von stop() zum Zeitpunkt 250ms führt dazu, dass die Eigenschaft x einen Wert von 50 hat, während der Aufruf von complete() die Eigenschaft x auf 100 setzt, genau so, als ob die Animation die ganze Zeit durchgespielt hätte.
void pause()
Hält die Animation an.
Wenn die Animation bereits pausiert oder nicht running ist, hat der Aufruf dieser Methode keine Wirkung. Die Eigenschaft paused wird nach einem Aufruf von pause() auf true gesetzt.
void restart()
Startet die Animation neu.
Dies ist eine Komfortmethode und entspricht dem Aufruf von stop() und dann start().
void resume()
Setzt eine angehaltene Animation fort.
Wenn die Animation nicht angehalten oder nicht running ist, hat der Aufruf dieser Methode keine Wirkung. Die Eigenschaft paused wird nach einem Aufruf von resume() auf false gesetzt.
void start()
Startet die Animation.
Wenn die Animation bereits läuft, hat der Aufruf dieser Methode keine Auswirkungen. Die Eigenschaft running ist nach einem Aufruf von start() wahr.
void stop()
Hält die Animation an.
Wenn die Animation nicht läuft, hat der Aufruf dieser Methode keine Wirkung. Sowohl die Eigenschaften running als auch paused werden nach einem Aufruf von stop() auf false gesetzt.
Normalerweise hält stop() die Animation sofort an, und die Animation hat keinen weiteren Einfluss auf die Eigenschaftswerte. In diesem Beispiel wurde die Animation
Rectangle { NumberAnimation on x { from: 0; to: 100; duration: 500 } }
zum Zeitpunkt 250ms gestoppt, hat die Eigenschaft x den Wert 50.
Wenn jedoch die Eigenschaft alwaysRunToEnd gesetzt ist, läuft die Animation weiter, bis sie abgeschlossen ist, und wird dann angehalten. Die Eigenschaft running wird trotzdem sofort auf false gesetzt.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.