Sur cette page

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 type
  • real amplitude
  • real overshoot
  • real period
  • list<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.