このページでは

Animator QML Type

すべての QML アニメータの基本です。詳細...

Import Statement: import QtQuick
Inherits:

Animation

Inherited By:

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

プロパティ

詳しい説明

Animator タイプは特別なアニメーションタイプで、通常の Animation タイプのように 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
    }
}

ParallelAnimationSequentialAnimation のすべてのサブアニメーションが Animator タイプの場合、ParallelAnimationSequentialAnimation も Animator として扱われ、可能な限りシーングラフのレンダリングスレッドで実行されます。

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

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

注意 非スレッドのレンダリングループを使用する場合、Animatorタイプには何のメリットもありません。

注: アプリケーションでは、メイン(GUI)スレッドで高価なブロッキング処理を行いながらアニメーション・コンテンツを表示するアニメーターに依存するのではなく、マルチスレッド、非同期の原則に基づいた設計を検討することをお勧めします。QMLではWorkerScriptasynchronous image loading 、C++ではワーカースレッド、並列アルゴリズムなどを使用します、 Qt ConcurrentC++ではワーカースレッド、並列アルゴリズム、コルーチンを使用することで、アプリケーション全体と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) 関数のイージングカーブ: 速度ゼロからの加速。インクワッド緩和曲線
Easing.OutQuad2次(t^2)関数の緩和曲線:速度ゼロから減速する。アウトクワッド緩和曲線
Easing.InOutQuad二次関数(t^2)の緩和曲線:途中まで加速、その後減速。InOutクワッド緩和曲線
Easing.OutInQuad次関数(t^2)の緩和曲線:途中まで減速、その後加速。OutInQuadイージングカーブ
Easing.InCubic次関数(t^3)のイージングカーブ:速度ゼロからの加速。インキュービック・イージング・カーブ
Easing.OutCubic次関数(t^3)の緩和曲線:速度ゼロから減速する。アウトキュービック・イージング・カーブ
Easing.InOutCubic次関数(t^3)のイージングカーブ:途中まで加速、その後減速。InOutCubicイージングカーブ
Easing.OutInCubic次関数(t^3)の緩和曲線:途中まで減速、その後加速。OutInCubicイージングカーブ
Easing.InQuart次関数(t^4)の緩和曲線:速度ゼロからの加速。インクオートの緩和曲線
Easing.OutQuart次関数(t^4)の緩和曲線:速度ゼロからの減速。アウトクォートの緩和曲線
Easing.InOutQuart4次関数(t^4)の緩和曲線:途中まで加速し、その後減速する。InOutQuartイージングカーブ
Easing.OutInQuart4次(t^4)関数の緩和曲線:途中まで減速、その後加速。アウトインクォートのイージングカーブ
Easing.InQuint5次関数(t^5)の緩和曲線:速度ゼロからの加速。インクインの緩和曲線
Easing.OutQuint5次関数(t^5)の緩和曲線:速度ゼロからの減速。アウトクイント緩和曲線
Easing.InOutQuint5次関数(t^5)の緩和曲線:途中まで加速し、その後減速。InOutQuintイージングカーブ
Easing.OutInQuint5進(t^5)関数の緩和曲線:途中まで減速、その後加速。OutInQuintイージングカーブ
Easing.InSine正弦波(sin(t))関数のイージングカーブ:速度ゼロからの加速。正弦緩和曲線
Easing.OutSine正弦波(sin(t))関数の緩和曲線:速度ゼロから減速する。アウトサイン緩和曲線
Easing.InOutSine正弦波(sin(t))関数のイージングカーブ:途中まで加速し、その後減速する。InOutSineイージングカーブ
Easing.OutInSine正弦波(sin(t))関数の緩和曲線:途中まで減速し、それから加速する。OutInSineイージングカーブ
Easing.InExpo指数(2^t)関数の緩和曲線:速度ゼロからの加速。万博緩和曲線
Easing.OutExpo指数(2^t)関数の緩和曲線:速度ゼロから減速する。アウトエキスポ緩和曲線
Easing.InOutExpo指数(2^t)関数の緩和曲線:途中まで加速し、それから減速する。InOutExpoイージングカーブ
Easing.OutInExpo指数関数(2^t)の緩和曲線:途中まで減速し、それから加速する。OutInExpo 緩和曲線
Easing.InCirc円(sqrt(1-t^2))関数の緩和曲線:速度ゼロからの加速。インサーキット緩和曲線
Easing.OutCirc円(sqrt(1-t^2))関数の緩和曲線:速度ゼロから減速する。アウトサークル緩和曲線
Easing.InOutCirc円(sqrt(1-t^2))関数の緩和曲線:途中まで加速し、その後減速する。InOutCirc緩和曲線
Easing.OutInCirc円(sqrt(1-t^2))関数の緩和曲線:途中まで減速し、それから加速。OutInCirc緩和曲線
Easing.InElastic弾性(指数関数的に減衰する正弦波)関数のイージングカーブ:速度ゼロからの加速。
ピークの振幅はamplitudeパラメータで、減衰の周期はperiodパラメータで設定できます。
弾性緩和曲線
Easing.OutElastic弾性(指数関数的に減衰する正弦波)関数の緩和曲線:速度ゼロまで減速する。
ピークの振幅はamplitudeパラメータで、減衰の周期はperiodパラメータで設定します。
非弾性緩和曲線
Easing.InOutElastic弾性(指数関数的に減衰する正弦波)関数のイージングカーブ:途中まで加速し、その後減速する。InOut弾性緩和曲線
Easing.OutInElastic弾性(指数関数的に減衰する正弦波)関数のイージングカーブ:途中まで減速、その後加速。OutIn弾性緩和曲線
Easing.InBackバック(オーバーシュート3次関数:(s+1)*t^3 - s*t^2)のイージングカーブ:速度ゼロからの加速。インバック緩和曲線
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) イージングアウト/イン:途中まで減速、その後加速。アウトバック緩和曲線
Easing.InBounceバウンス(指数関数的に減衰する放物線バウンス)の緩和曲線 関数:速度ゼロからの加速。インバウンス緩和曲線
Easing.OutBounceバウンス(指数関数的に減衰する放物線バウンス)関数のイージングカーブ:速度ゼロから減速する。アウトバウンス緩和曲線
Easing.InOutBounceバウンス(指数関数的に減衰する放物線バウンス)のイージングカーブ 関数のイージングイン/アウト:途中まで加速し、その後減速する。インアウトバウンス緩和曲線
Easing.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点のグループ - control1、control2、end point: [cx1, cy1, cx2, cy2, endx, endy, ...] - を含むリスト<real>です。最後の点は1,1でなければならない。

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

from : real

このプロパティは、アニメーションの開始値を保持する。

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

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

target : QtQuick::Item

このプロパティは、アニメーターのターゲットアイテムを保持します。

注意: アニメーターのターゲットは、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.