Animation QML Type
Ist die Basis für alle QML-Animationen. Mehr...
Import Statement: | import QtQuick |
Inherited By: |
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.
Eigenschaft Dokumentation
alwaysRunToEnd : bool |
Diese Eigenschaft legt fest, ob die Animation bis zum Ende laufen soll, wenn sie angehalten wird.
Wenn diese Eigenschaft true ist, wird die Animation ihre aktuelle Iteration beenden, wenn sie angehalten 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 Auswirkung 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 gerade pausiert.
Die Eigenschaft paused
kann gesetzt werden, um deklarativ zu steuern, ob eine Animation angehalten ist 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 gesetzt 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 ausgegeben, wenn die Animation natürlich beendet ist.
Es wird nicht ausgegeben, wenn running auf false
gesetzt ist, und auch nicht bei Animationen, deren Eigenschaft loops auf Animation.Infinite
gesetzt ist.
Darüber hinaus 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
.
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 ausgesendet, wenn die Animation endet.
Die Animation kann manuell angehalten 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
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 Auswirkung. Die Eigenschaft running
wird nach einem Aufruf von complete()
auf false gesetzt.
Im Gegensatz zu stop()
wird bei complete()
die Animation sofort bis zu ihrem Ende vorgespult. 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.
pause() |
Pausiert die Animation
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.
restart() |
Startet die Animation neu
Dies ist eine Komfortmethode und entspricht dem Aufruf von stop()
und dann start()
.
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.
start() |
Startet die Animation
Wenn die Animation bereits läuft, hat der Aufruf dieser Methode keine Auswirkung. Die Eigenschaft running
wird nach einem Aufruf von start()
auf true gesetzt.
stop() |
Stoppt die Animation
Wenn die Animation nicht läuft, hat der Aufruf dieser Methode keine Auswirkung. Die beiden Eigenschaften running
und 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.
© 2025 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.