easingCurve QML Value Type
Valeur représentant une courbe d'assouplissement. Plus d'informations...
| Since: | Qt 6.11 |
Description détaillée
Le type easingCurve est une valeur dont les attributs définissent une courbe easing curve:
enumeration typereal amplitudereal overshootreal periodlist<real> bezierCurve
Il est utile pour réaliser des animations personnalisées avec FrameAnimation, par exemple, ou dans tout cas d'utilisation nécessitant l'assouplissement d'une valeur le long d'une courbe donnée.
Pour créer une valeur easingCurve, importez QtQml (ou QtQuick) dans un espace de noms :
import QtQml as QtQml
Ensuite, créez une instance de cette valeur avec new:
readonly property easingCurve easingCurve: Easing.InQuart
L'exemple suivant est similaire à celui décrit par la documentation de Easing:
Rectangle { id: rect width: 100 height: 100 anchors.centerIn: parent color: "red" opacity: 0 } FrameAnimation { id: frameAnimation running: true property real elapsed // In seconds. readonly property real duration: 2 // Two seconds. readonly property easingCurve easingCurve: Easing.InQuart onTriggered: { elapsed += frameTime // Loop once we reach the duration. if (elapsed > duration) elapsed = 0 // Increase the opacity from 0 slowly at first, then quickly. rect.opacity = inQuartCurve.valueForProgress(elapsed / duration) } }
Il est également possible de créer easingCurve via la syntaxe des types de valeurs structurées :
readonly property easingCurve inElasticCurve: ({ type: Easing.InElastic, amplitude: 4, period: 3 })
Lors de l'intégration avec C++, notez que toute valeur QEasingCurve transmise à QML à partir de C++ est automatiquement convertie en valeur easingCurve. Lorsqu'une valeur easingCurve est transmise à C++, elle est automatiquement convertie en valeur QEasingCurve.
Une valeur easingCurve construite par défaut est égale à new QtQml.easingCurve(QtQml.Easing.Linear).
Voir aussi Types de valeurs QML.
© 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.