Behavior QML Type
プロパティ変更時のデフォルトのアニメーションを定義します。詳細...
Import Statement: | import QtQuick |
プロパティ
- animation : Animation
- enabled : bool
- targetProperty
(since QtQuick 2.15)
- targetProperty.name : string
(since QtQuick 2.15)
- targetProperty.object : QtObject
(since QtQuick 2.15)
- targetProperty.name : string
- targetValue : Variant
(since QtQuick 2.13)
詳細説明
Behaviorは、特定のプロパティ値が変更されたときに適用されるデフォルトのアニメーションを定義します。
例えば、次の Behavior はRectangle のwidth
の値が変化するたびに実行される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 |
このプロパティは、ビヘイビアがトリガーされたときに実行されるアニメーションを保持します。
enabled : bool |
このプロパティは、トラッキングされたプロパティの値が変化したときにビヘイビアがトリガーされるかどうかを保持します。
デフォルトでは、ビヘイビアは有効になっています。
プロパティ | 説明 |
---|---|
名前 | この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 |
このプロパティは、ビヘイビアが制御するプロパティのターゲット値を保持します。この値は、アニメーションを開始する前にビヘイビアによって設定されます。
このプロパティは QtQuick 2.13 で導入されました。
©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。