このページでは

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

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

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

targetProperty group

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

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

プロパティ物件名
名前このプロパティは、このビヘイビアによって制御されるプロパティの名前を保持します。
オブジェクトこのビヘイビアが制御するプロパティのオブジェクトを保持します。

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

次の例では、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
    }
}

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

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

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

このプロパティは 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.