Auf dieser Seite

Behavior QML Type

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

Import Statement: import QtQuick

Eigenschaften

Ausführliche Beschreibung

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

Das folgende „Behavior“ definiert beispielsweise, dass „ NumberAnimation “ immer dann ausgeführt wird, wenn sich der Wert von „ width “ des „ Rectangle “ ändert. Wenn auf „ MouseArea “ geklickt wird, ändert sich „ width “, wodurch die Animation des „Behavior“ 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 Verhaltens bereitzustellen, verwenden Sie „ ParallelAnimation “ oder „ SequentialAnimation “.

Wenn ein Zustandswechsel ein „ Transition “ aufweist, das derselben Eigenschaft entspricht wie ein „Behavior“, überschreibt die „ Transition “-Animation das „Behavior“ für diesen Zustandswechsel. Allgemeine Hinweise zur Verwendung von „Behaviors“ zur Animation von Zustandswechseln finden Sie unter „Verwendung von ‚ Qt Quick ‘-Behaviors mit Zuständen“.

Siehe auch „Animationen und Übergänge in Qt Quick “, „Beispiel für ein Verhalten“ und Qt Qml.

Dokumentation zu Eigenschaften

animation : Animation [default]

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

enabled : bool

Diese Eigenschaft legt fest, ob das Verhalten ausgelöst wird, wenn sich der Wert der überwachten 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 von diesem 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 basierend auf dem Namen oder dem Objekt der gestuerten Eigenschaft zu definieren.

Das folgende Beispiel definiert ein Verhalten, das sein Zielobjekt ausblendet und wieder 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 Eigenschaften wurden 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 vom Behavior vor dem Start der Animation festgelegt.

Diese Eigenschaft wurde in QtQuick 2.13 eingeführt.

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