Sur cette page

Behavior QML Type

Définit une animation par défaut pour la modification d'une propriété. En savoir plus...

Import Statement: import QtQuick

Propriétés

Description détaillée

Un comportement définit l'animation par défaut à appliquer chaque fois qu'une valeur de propriété particulière change.

Par exemple, le comportement suivant définit une animation « NumberAnimation » qui s'exécute chaque fois que la valeur de la propriété « width » de l'Rectangle change. Lorsque l'on clique sur l'MouseArea, la valeur de la propriété « width » est modifiée, ce qui déclenche l'animation du comportement :

import QtQuick

Rectangle {
    id: rect
    width: 100; height: 100
    color: "red"

    Behavior on width {
        NumberAnimation { duration: 1000 }
    }

    MouseArea {
        anchors.fill: parent
        onClicked: rect.width = 50
    }
}

Notez qu’une propriété ne peut pas se voir attribuer plus d’un comportement. Pour intégrer plusieurs animations au sein d’un même comportement, utilisez ParallelAnimation ou SequentialAnimation.

Si un changement d’état comporte une « Transition » correspondant à la même propriété qu’un « Behavior », l’animation de la « Transition » remplace le « Behavior » pour ce changement d’état. Pour obtenir des conseils généraux sur l’utilisation des « Behaviors » pour animer les changements d’état, consultez la section Utilisation des « Qt Quick » avec les états.

Voir également « Animation et transitions dans Qt Quick », « Exemple de comportement » et Qt Qml.

Documentation sur les propriétés

animation : Animation [default]

Cette propriété contient l'animation à exécuter lorsque le comportement est déclenché.

enabled : bool

Cette propriété détermine si le comportement sera déclenché lorsque la propriété suivie changera de valeur.

Par défaut, un comportement est activé.

targetProperty group

targetProperty.name : string [read-only, since QtQuick 2.15]

targetProperty.object : QtObject [read-only, since QtQuick 2.15]

PropriétéDescription
nomCette propriété contient le nom de la propriété contrôlée par ce comportement.
objetCette propriété contient l'objet de la propriété contrôlée par ce comportement.

Cette propriété peut être utilisée pour définir des comportements personnalisés en fonction du nom ou de l'objet de la propriété contrôlée.

L'exemple suivant définit un comportement qui effectue un fondu de sortie puis un fondu d'entrée de son objet cible lorsque la propriété qu'il contrôle change :

// FadeBehavior.qml
import QtQuick 2.15

Behavior {
    id: root
    property Item fadeTarget: targetProperty.object
    SequentialAnimation {
        NumberAnimation {
            target: root.fadeTarget
            property: "opacity"
            to: 0
            easing.type: Easing.InQuad
        }
        PropertyAction { } // actually change the controlled property between the 2 other animations
        NumberAnimation {
            target: root.fadeTarget
            property: "opacity"
            to: 1
            easing.type: Easing.OutQuad
        }
    }
}

Cela peut être utilisé pour animer un texte lorsqu’il change :

import QtQuick 2.15

Text {
    id: root
    property int counter
    text: counter
    FadeBehavior on text {}
    Timer {
        running: true
        repeat: true
        interval: 1000
        onTriggered: ++root.counter
    }
}

Ces propriétés ont été introduites dans QtQuick 2.15.

targetValue : Variant [read-only, since QtQuick 2.13]

Cette propriété contient la valeur cible de la propriété contrôlée par le comportement. Cette valeur est définie par le comportement avant le lancement de l'animation.

Cette propriété a été introduite dans QtQuick 2.13.

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