Behavior QML Type

Legt eine Standardanimation für eine Eigenschaftsänderung fest. Mehr...

Import Statement: import QtQuick

Eigenschaften

Detaillierte Beschreibung

Ein Verhalten definiert die Standardanimation, die immer dann angewendet wird, wenn sich ein bestimmter Eigenschaftswert ändert.

Das folgende Verhalten definiert beispielsweise ein NumberAnimation, das immer dann ausgeführt wird, wenn sich der Wert von Rectangle' width ändert. Wenn MouseArea angeklickt wird, wird width geändert, wodurch die Animation des Verhaltens ausgelöst wird:

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
    }
}

Beachten Sie, dass einer Eigenschaft nicht mehr als ein Verhalten zugewiesen werden kann. Um mehrere Animationen innerhalb eines Behaviours bereitzustellen, verwenden Sie ParallelAnimation oder SequentialAnimation.

Wenn eine Zustandsänderung eine Transition hat, die mit der gleichen Eigenschaft wie ein Verhalten übereinstimmt, hat die Animation Transition für diese Zustandsänderung Vorrang vor dem Verhalten. Allgemeine Hinweise zur Verwendung von Behaviors zur Animation von Zustandsänderungen finden Sie unter Qt Quick Behaviors mit Zuständen verwenden.

Siehe auch Animation und Übergänge in Qt Quick, Verhaltensbeispiel und Qt Qml.

Eigenschaft Dokumentation

animation : Animation [default]

Diese Eigenschaft enthält die Animation, die ausgeführt wird, wenn das Verhalten ausgelöst wird.


enabled : bool

Diese Eigenschaft legt fest, ob das Verhalten ausgelöst wird, wenn sich der Wert der verfolgten Eigenschaft ändert.

Standardmäßig ist ein Verhalten aktiviert.


targetProperty group

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

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

EigenschaftBeschreibung
NameDiese Eigenschaft enthält den Namen der Eigenschaft, die durch dieses Verhalten gesteuert wird.
ObjektDiese Eigenschaft enthält das Objekt der Eigenschaft, die von diesem Verhalten gesteuert wird.

Diese Eigenschaft kann verwendet werden, um benutzerdefinierte Verhaltensweisen zu definieren, die auf dem Namen oder dem Objekt der gesteuerten Eigenschaft basieren.

Das folgende Beispiel definiert ein Verhalten, das sein Zielobjekt aus- und einblendet, wenn sich die von ihm gesteuerte Eigenschaft ändert:

// 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
        }
    }
}

Dies kann verwendet werden, um einen Text zu animieren, wenn er sich ändert:

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
    }
}

Diese QML-Eigenschaft wurde in QtQuick 2.15 eingeführt.


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

Diese Eigenschaft enthält den Zielwert der Eigenschaft, die vom Behavior gesteuert wird. Dieser Wert wird durch das Behavior gesetzt, bevor die Animation gestartet wird.

Diese Eigenschaft wurde in QtQuick 2.13 eingeführt.


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