Behavior QML Type

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

Import Statement: import QtQuick

プロパティ

詳細説明

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

例えば、次の 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 Behaviorsとステートを使用する」を参照してください。

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が制御するプロパティの名前を保持します。
オブジェクトこのビヘイビアが制御するプロパティのオブジェクトを保持します。

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

次の例では、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 で導入されました。


©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。