Szenendiagramm - Threaded-Animation

Zeigt die Vorteile von benutzerdefinierten Elementen, die unabhängig vom Hauptthread animiert werden, während die Threaded-Rendering-Schleife von Qt Quick verwendet wird.

Dieses Beispiel zeigt das grundlegende Konzept hinter den Animator Typen, indem ein benutzerdefiniertes Element implementiert wird, das sich effektiv selbst animiert, indem es sich nicht auf das standardmäßige Qt Quick Animations-Framework verlässt, das vom Hauptthread gesteuert wird.

Der linke und der rechte Spinner sollten sich unter normalen Bedingungen identisch verhalten. Sobald das Beispiel jedoch den Haupt-Thread blockiert, indem es eine schwere Operation ausführt, wird es auffallen, dass der linke Spinner nicht mehr flüssig animiert ist.

Hinweis: Dieses Beispiel sollte mit der threaded Rendering-Schleife von Qt Quick ausgeführt werden. Dies ist in den meisten Fällen die Standardeinstellung. Es gibt keine positiven Auswirkungen, wenn die basic Rendering-Schleife verwendet wird, da dort alles, einschließlich des Renderings, auf dem Hauptthread stattfindet.

Anwendungen ohne benutzerdefinierte QQuickItem -Implementierungen können die gleichen Vorteile erzielen, indem sie einen der Animator -Typen wie XAnimator oder OpacityAnimator aus QML verwenden. Bei der Erstellung von benutzerdefinierten Elementen können ähnliche Ergebnisse erzielt werden, indem man der Implementierung des Beispiels folgt.

Beispielprojekt @ code.qt.io

Siehe auch Qt Quick Scene Graph.

© 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.