Behavior QML Type

プロパティ変更時のデフォルトのアニメーションを定義します。詳細...

Import Statement: import QtQuick

プロパティ

詳細説明

Behavior は、特定のプロパティの値が変化したときに適用されるデフォルトのアニメーションを定義します。

たとえば、次のビヘイビアはRectanglewidth の値が変化するたびに実行されるNumberAnimation を定義します。MouseArea がクリックされると、width が変更され、ビヘイビアのアニメーションがトリガーされます:

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

1つのプロパティに複数のビヘイビアを割り当てることはできません。1つのビヘイビアに複数のアニメーションを設定するには、ParallelAnimation またはSequentialAnimation を使用してください。

ステートチェンジがビヘイビアと同じプロパティにマッチするTransition を持つ場合、Transition のアニメーションはそのステートチェンジのビヘイビアをオーバーライドします。ビヘイビアを使用してステート変更をアニメーション化する一般的なアドバイスについては、Qt Quick ビヘイビアとステートを使用する」を参照してください。

アニメーションとトランジション(Qt Quickビヘイビアの例、および Qt Qml.

プロパティの説明

animation : Animation [default]

このプロパティは、ビヘイビアがトリガーされたときに実行されるアニメーションを保持します。


enabled : bool

このプロパティは、trackedプロパティの値が変化したときにビヘイビアがトリガーされるかどうかを保持します。

デフォルトでは、ビヘイビアは有効になっています。


targetProperty group

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

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

プロパティ説明
名前このBehaviorが制御するプロパティの名前を保持します。
オブジェクトこのビヘイビアが制御するプロパティのオブジェクトを保持します。

このプロパティを使用すると、制御対象のプロパティの名前またはオブジェクトに基づいてカスタムビヘイビアを定義できます。

次の例では、Behaviorが制御するプロパティが変化すると、そのオブジェクトがフェードアウトしたりフェードインしたりするように定義しています:

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

これは、テキストが変化したときに、そのテキストをアニメーション化するために使用することができます:

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

この QML プロパティは QtQuick 2.15 で導入されました。


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

このプロパティは、ビヘイビアが制御するプロパティのターゲット値を保持します。この値は、アニメーションを開始する前にビヘイビアによって設定されます。

このプロパティは QtQuick 2.13 で導入されました。


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