このページでは

SmoothedAnimation QML Type

プロパティが値を滑らかに追跡できるようにします。詳細...

Import Statement: import QtQuick
Inherits:

NumberAnimation

プロパティ

詳細な説明

SmoothedAnimationは、イーズイン/イーズアウトの4点イージングカーブを使用して、プロパティの値を指定された目標値までアニメーション化します。目標値が変更されると、旧目標値と新目標値の間をアニメーション化するために使用されるイージングカーブが滑らかに結合され、現在の速度を維持したまま新目標値へと滑らかに移動します。

以下の例は、SmoothedAnimation を使用して、ある `Rectangle ` が別の ` ` の位置を追跡する様子を示しています。緑色の矩形の `x ` および `y ` の値は、赤色の矩形の値にバインドされています。これらの値が変更されるたびに、緑色の矩形は新しい位置へ滑らかにアニメーションします:

import QtQuick

Rectangle {
    width: 800; height: 600
    color: "blue"

    Rectangle {
        width: 60; height: 60
        x: rect1.x - 5; y: rect1.y - 5
        color: "green"

        Behavior on x { SmoothedAnimation { velocity: 200 } }
        Behavior on y { SmoothedAnimation { velocity: 200 } }
    }

    Rectangle {
        id: rect1
        width: 50; height: 50
        color: "red"
    }

    focus: true
    Keys.onRightPressed: rect1.x = rect1.x + 100
    Keys.onLeftPressed: rect1.x = rect1.x - 100
    Keys.onUpPressed: rect1.y = rect1.y - 100
    Keys.onDownPressed: rect1.y = rect1.y + 100
}

SmoothedAnimation は、アニメーションを実行するvelocity (速度)またはアニメーションが到達すべきduration (速度)を設定することで構成できます。velocity とduration の両方が指定されている場合、ターゲット値の変更ごとに、より速いアニメーションが得られる方が選択されます。

たとえば、0 から 800 へのアニメーションの場合、速度を 200 に設定すると 4 秒かかりますが、持続時間を 8000 に設定すると 8 秒かかり、速度 200 と持続時間 8000 の両方を設定すると 4 秒かかります。 0 から 20000 へのアニメーションは、速度を 200 に設定した場合 10 秒、持続時間を 8000 に設定した場合 8 秒、速度 200 と持続時間 8000 の両方を設定した場合も 8 秒かかります。

SmoothedAnimationのデフォルトの速度は200単位/秒です。アニメーションの対象となる値の範囲が狭い場合は、速度を適切に調整する必要があることに注意してください。例えば、アイテムの不透明度は0~1.0の範囲です。 この範囲で滑らかなアニメーションを実現するには、速度を 0.5 単位/秒 などの値に設定する必要があります。速度 0.5 で 0 から 1.0 までアニメーションさせると、完了までに 2000 ミリ秒かかります。

他のアニメーションタイプと同様に、SmoothedAnimation は、トランジション、ビヘイビア、プロパティ値ソースなど、さまざまな方法で適用できます。『Qt Quick 』の「アニメーションとトランジション」のドキュメントには、アニメーションを作成するためのさまざまな方法が示されています。

関連項目: SpringAnimation 、NumberAnimation 、 Qt Quick の「アニメーションとトランジション」、およびQt Quick の「例 - アニメーション」。

プロパティのドキュメント

duration : int

このプロパティには、ソースを追跡する際に使用されるアニメーションの継続時間(ミリ秒単位)が格納されます。

これを -1(デフォルト)に設定すると、持続時間の値が無効になります。

速度値と持続時間の値の両方が有効になっている場合、アニメーションでは、より短い持続時間となる方の値が使用されます。

maximumEasingTime : int

このプロパティは、フォロー中の「イーズ」にかかる最大時間をミリ秒単位で指定します。このプロパティを設定すると、速度は一定時間後に「安定」します。負の値を設定すると、アニメーションの全期間にわたってイーズがかかる通常のモードに戻ります。

デフォルト値は -1 です。

reversingMode : enumeration

アニメーションの方向が反転した場合の「SmoothedAnimation 」の挙動を設定します。

設定可能な値は以下の通りです:

Constant説明
SmoothedAnimation.Eased(既定値) アニメーションは滑らかに減速した後、方向を反転します
SmoothedAnimation.Immediateアニメーションは、速度0から開始し、直ちに逆方向へ加速し始めます
SmoothedAnimation.Syncプロパティは直ちに目標値に設定されます

velocity : real

このプロパティには、「to」の値を追跡する際に許容される平均速度が格納されます。

SmoothedAnimation のデフォルトの速度は200単位/秒です。

これを -1 に設定すると、速度値が無効になります。

速度値と持続時間の値の両方が有効になっている場合、アニメーションでは、どちらか短い方の持続時間が適用されます。

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