このページでは

Animator QML Type (Uncreatable)

すべてのQMLアニメーターの基盤となります。詳細...

Import Statement: import QtQuick
Inherits:

Animation

Inherited By:

OpacityAnimator, RotationAnimator, ScaleAnimator, UniformAnimator, XAnimator, and YAnimator

注:これは生成不可能な型です。QML内ではインスタンス化できません。

プロパティ

詳細な説明

アニメーター型は、通常のアニメーション型がQMLオブジェクトやそのプロパティに対して動作するのとは異なり、Qt Quick のシーングラフ上で直接動作する特殊なアニメーション型です。これにより、UIスレッドがブロックされている場合でも、アニメーターベースのアニメーションはシーングラフのレンダリングスレッド上で実行できるという利点があります。

QMLプロパティの値は、アニメーションが終了した後に更新されます。アニメーションの実行中は、プロパティは更新されません。

Animator タイプは、他の Animation タイプと同様に使用できます。

Rectangle {
    id: mixBox
    width: 50
    height: 50
    ParallelAnimation {
        ColorAnimation {
            target: mixBox
            property: "color"
            from: "forestgreen"
            to: "lightsteelblue";
            duration: 1000
        }
        ScaleAnimator {
            target: mixBox
            from: 2
            to: 1
            duration: 1000
        }
        running: true
    }
}

ParallelAnimation およびSequentialAnimation のすべてのサブアニメーションが Animator タイプである場合、ParallelAnimation およびSequentialAnimation も Animator として扱われ、可能な場合はシーングラフのレンダリングスレッド上で実行されます。

Animator タイプはトランジション中のアニメーションに使用できますが、reversible プロパティはサポートしていません。

Animator 型は QML ファイル内で直接使用することはできません。この型は、それを継承する他のすべてのアニメーター型で利用可能な一連の共通プロパティやメソッドを提供するために存在します。Animator 型を直接使用しようとすると、エラーが発生します。

注: 非スレッド型のレンダリングループを使用する場合、Animator 型には何の利点もありません。

注: アプリケーションでは、メイン(GUI)スレッドで負荷が高くブロックする処理を実行しながらアニメーションコンテンツを表示するためにAnimatorに依存するのではなく、マルチスレッドおよび非同期の原則に基づいた設計を検討することを推奨します 。長時間かかるブロック処理の代わりに、QMLではWorkerScript やasynchronous image loading を、C++ではワーカースレッド、並列アルゴリズム、 Qt Concurrent、およびC++のコルーチンなどを優先的に使用することで、アプリケーション全体とUIの応答性を常に維持することを推奨します。

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

duration : int

このプロパティは、アニメーションの継続時間をミリ秒単位で保持します。

デフォルト値は 250 です。

easing group

easing.amplitude : real

easing.bezierCurve : list<real>

easing.overshoot : real

easing.period : real

easing.type : enumeration

アニメーションに使用するイージングカーブを指定します

イージングカーブを指定するには、少なくともそのタイプを指定する必要があります。一部のカーブでは、振幅、周期、および/またはオーバーシュートも指定できます(詳細は表の後に記載されています)。デフォルトのイージングカーブはEasing.Linear です。

PropertyAnimation { properties: "y";
                    easing.type: Easing.InOutElastic;
                    easing.amplitude: 2.0;
                    easing.period: 1.5 }

利用可能なタイプは以下の通りです:

Easing.Linear線形(t)関数用のイージングカーブ:速度は一定です。線形イージングカーブ
Easing.InQuad2次関数(t^2)のイージングカーブ:速度ゼロから加速します。InQuadのイージング曲線
Easing.OutQuad2次関数(t^2)のイージングカーブ:速度がゼロになるまで減速します。OutQuadのイージングカーブ
Easing.InOutQuad2次関数(t^2)のイージングカーブ:中間点まで加速し、その後減速します。InOutQuad イージングカーブ
Easing.OutInQuad2次関数(t^2)のイージングカーブ:中間点まで減速し、その後加速する。OutInQuad イージングカーブ
Easing.InCubic3次(t^3)関数のイージング曲線:速度ゼロから加速する。InCubic イージングカーブ
Easing.OutCubic3次(t^3)関数のイージングカーブ:速度ゼロまで減速する。OutCubicのイージングカーブ
Easing.InOutCubic3次(t^3)関数のイージングカーブ:中間点まで加速し、その後減速する。InOutCubic イージングカーブ
Easing.OutInCubic3次(t^3)関数のイージングカーブ:中間点まで減速し、その後加速する。OutInCubic イージングカーブ
Easing.InQuart4次(t^4)関数のイージングカーブ:速度ゼロから加速する。InQuartのイージングカーブ
Easing.OutQuart4次(t^4)関数のイージングカーブ:速度ゼロまで減速する。OutQuartのイージングカーブ
Easing.InOutQuart4次(t^4)関数のイージングカーブ:中間点まで加速し、その後減速する。InOutQuart イージングカーブ
Easing.OutInQuart4次 (t^4) 関数のイージングカーブ:中間点まで減速し、その後加速する。OutInQuartのイージングカーブ
Easing.InQuint5次関数 (t^5) のイージングカーブ:速度ゼロから加速する。InQuintのイージングカーブ
Easing.OutQuint5次(t^5)関数のイージングカーブ:速度ゼロまで減速する。OutQuintのイージングカーブ
Easing.InOutQuint5次(t^5)関数のイージングカーブ:中間点まで加速し、その後減速する。InOutQuintのイージングカーブ
Easing.OutInQuint5次関数 (t^5) のイージングカーブ:中間点まで減速し、その後加速する。OutInQuintのイージングカーブ
Easing.InSine正弦波(sin(t))関数のイージング曲線:速度ゼロから加速する。InSineイージングカーブ
Easing.OutSine正弦波(sin(t))関数のイージングカーブ:速度ゼロまで減速する。OutSineイージングカーブ
Easing.InOutSine正弦波(sin(t))関数のイージングカーブ:中間点まで加速度を保ち、その後減速する。InOutSine イージングカーブ
Easing.OutInSine正弦波(sin(t))関数のイージング曲線:中間点まで減速し、その後加速する。OutInSine イージングカーブ
Easing.InExpo指数関数(2^t)のイージングカーブ:速度ゼロから加速。InExpoの緩和曲線
Easing.OutExpo指数関数(2^t)のイージングカーブ:速度がゼロになるまで減速する。OutExpoの感染拡大抑制曲線
Easing.InOutExpo指数関数(2^t)のイージングカーブ:中間点まで加速し、その後減速する。InOutExpoの緩和曲線
Easing.OutInExpo指数関数(2^t)のイージングカーブ:中間点まで減速し、その後加速する。OutInExpoの緩和曲線
Easing.InCirc円形(sqrt(1-t^2))関数のイージングカーブ:速度ゼロから加速します。InCircのイージングカーブ
Easing.OutCirc円形関数(sqrt(1-t^2))のイージングカーブ:速度がゼロになるまで減速する。OutCircのイージングカーブ
Easing.InOutCirc円形関数(sqrt(1-t^2))のイージングカーブ:中間点まで加速し、その後減速する。InOutCirc イージングカーブ
Easing.OutInCirc円形(sqrt(1-t^2))関数のイージングカーブ:中間点まで減速し、その後加速する。OutInCircのイージングカーブ
Easing.InElastic弾性(指数関数的に減衰する正弦波)関数のイージングカーブ:初速度ゼロから加速。
ピーク振幅はamplitudeパラメータで、減衰周期はperiodパラメータで設定できます。
非弾性イージングカーブ
Easing.OutElastic弾性(指数関数的に減衰する正弦波)関数のイージングカーブ:半分の位置まで減速し、その後減速する。
ピーク振幅はamplitudeパラメータで、減衰の周期はperiodパラメータで設定できます。
OutElastic イージングカーブ
Easing.InOutElastic弾性(指数関数的に減衰する正弦波)関数のイージングカーブ:中間点まで加速し、その後減速する。InOutElastic イージングカーブ
Easing.OutInElastic弾性(指数関数的に減衰する正弦波)関数のイージングカーブ:中間点まで減速し、その後加速する。OutInElastic イージングカーブ
Easing.InBackバック(オーバーシュートする3次関数:(s+1)*t^3 - s*t^2)のイージングカーブ:ゼロ速度から加速します。InBackのイージングカーブ
Easing.OutBackバック(オーバーシュートする3次関数:(s+1)*t^3 - s*t^2)のイージングアウト曲線:速度がゼロになるまで減速します。アウトバックの減速曲線
Easing.InOutBackバック(オーバーシュートする3次関数:(s+1)*t^3 - s*t^2)のイージングイン/アウト用イージングカーブ:中間点まで加速し、その後減速する。InOutBackのイージングカーブ
Easing.OutInBackバック用のイージングカーブ(オーバーシュートする3次イージング:(s+1)*t^3 - s*t^2)、イージングアウト/イン:中間点まで減速し、その後加速。OutInBackのイージングカーブ
Easing.InBounceバウンスのイージングカーブ(指数関数的に減衰する放物線状のバウンス)関数:速度ゼロから加速します。InBounceのイージングカーブ
Easing.OutBounceバウンス(指数関数的に減衰する放物線状のバウンス)関数のイージングカーブ:減速して速度ゼロになる。OutBounceのイージングカーブ
Easing.InOutBounceバウンス(指数関数的に減衰する放物線状のバウンス)関数のイージングカーブ(イージーイン/アウト):中間点まで加速し、その後減速します。InOutBounce イージングカーブ
Easing.OutInBounceバウンス(指数関数的に減衰する放物線状のバウンス)関数のイージングアウト/イン用イージングカーブ:中間点まで減速し、その後加速する。OutInBounce イージングカーブ
Easing.BezierSplineeasing.bezierCurve プロパティで定義されるカスタムイージングカーブ。

easing.amplitude バウンスおよび弾性カーブ(Easing.InBounce 、Easing.OutBounce 、Easing.InOutBounce 、Easing.OutInBounce 、Easing.InElastic 、Easing.OutElastic 、Easing.InOutElastic 、またはEasing.OutInElastic のタイプのカーブ)にのみ適用されます。

easing.overshoot これは、easing.type が以下のいずれかである場合にのみ適用されます:Easing.InBack 、Easing.OutBack 、Easing.InOutBack 、またはEasing.OutInBack 。

easing.period は、easing.type がEasing.InElastic 、Easing.OutElastic 、Easing.InOutElastic 、またはEasing.OutInElastic の場合にのみ適用されます。

easing.bezierCurve これは、easing.type がEasing.BezierSpline の場合にのみ適用されます。このプロパティは、0,0 から 1,1 までの曲線を定義する 3 つの点のグループを含む list<real> です。制御点 1、制御点 2、終点:[cx1, cy1, cx2, cy2, endx, endy, ...]。 最後の点は 1,1 でなければなりません。

さまざまなイージング設定のデモについては、「イージング曲線」を参照してください。

from : real

このプロパティには、アニメーションの開始値が格納されます。

AnimatorがTransition またはBehavior 内で定義されている場合、この値はデフォルトで、Transition の開始状態で定義された値、またはBehavior がトリガーされた時点でのプロパティの現在の値になります。

「 Qt Quick 」の「アニメーションとトランジション」も参照してください 。

target : QtQuick::Item

このプロパティには、アニメーターのターゲットアイテムが格納されます。

注:アニメーターの ターゲットは、アイテムベースの型でなければなりません。

to : real

このプロパティには、アニメーションの終了値が格納されます。

AnimatorがTransition またはBehavior 内で定義されている場合、この値はデフォルトで、Transition の終了状態で定義された値、またはBehavior をトリガーしたプロパティ変更の値になります。

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