このページでは

Animation QML Type (Uncreatable)

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

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

プロパティ

信号

方法

詳細な説明

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

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

alwaysRunToEnd : bool

このプロパティは、アニメーションが停止された際に、そのアニメーションを最後まで実行するかどうかを指定します。

この値が true の場合、running プロパティを false に設定するか、stop() メソッドを呼び出すことでアニメーションが停止された際、現在のイテレーションは最後まで実行されます。complete() メソッドはこの値の影響を受けません。

この動作は、loops プロパティが設定されている場合に特に有用です。その場合、アニメーションは通常通り再生を完了しますが、再起動は行われません。

デフォルトでは、alwaysRunToEnd プロパティは設定されていません。

注: `alwaysRunToEnd ` は、Transition 内のアニメーションには影響しません。

loops : int

このプロパティは、アニメーションを再生する回数を指定します。

デフォルトでは、loops は 1 に設定されており、アニメーションは 1 回再生された後に停止します。

Animation.Infinite に設定すると、running プロパティを false に設定するか、stop() メソッドを呼び出して明示的に停止させるまで、アニメーションは繰り返し再生されます。

次の例では、長方形が無限に回転し続けます。

Rectangle {
    width: 100; height: 100; color: "green"
    RotationAnimation on rotation {
        loops: Animation.Infinite
        from: 0
        to: 360
    }
}

paused : bool

このプロパティは、アニメーションが現在一時停止中であるかどうかを示します。

paused プロパティを設定することで、アニメーションを一時停止するかどうかを宣言的に制御できます。

また、pause() およびresume() メソッドを使用することで、JavaScript から命令的にアニメーションを一時停止および再開することもできます。

デフォルトでは、アニメーションは一時停止されていません。

running : bool

このプロパティは、アニメーションが現在実行中であるかどうかを表します。

running プロパティを設定することで、アニメーションの実行の有無を宣言的に制御できます。次の例では、MouseArea が押されるたびに長方形にアニメーションを適用します。

Rectangle {
    width: 100; height: 100
    NumberAnimation on x {
        running: myMouse.pressed
        from: 0; to: 100
    }
    MouseArea { id: myMouse }
}

同様に、running プロパティを読み取ることで、アニメーションが実行中かどうかを確認できます。次の例では、Textアイテムがアニメーションの実行状態を示します。

NumberAnimation { id: myAnimation }
Text { text: myAnimation.running ? "Animation is running" : "Animation is not running" }

また、start() およびstop() メソッドを使用することで、JavaScript から命令的にアニメーションを開始または停止することもできます。

デフォルトでは、アニメーションは実行されていません。ただし、on構文を使用してプロパティの値ソースとしてアニメーションが割り当てられた場合、デフォルトで実行状態になります。

Signal ドキュメント

finished()

このシグナルは、アニメーションが自然に終了したときに発せられます。

running がfalse に設定されている場合や、loops プロパティがAnimation.Infinite に設定されているアニメーションでは、このシグナルは発火しません。

また、このシグナルは、トップレベルのスタンドアロンのアニメーションに対してのみ発火します。Behavior や Transition 内のアニメーション、あるいはアニメーショングループの一部であるアニメーションに対しては発火しません。

alwaysRunToEnd がtrueの場合、アニメーションが現在の反復を完了するまで、このシグナルは発火しません。

注: 対応するハンドラは onFinished です。

関連項目: stopped()、started()、およびrunning 。

started()

このシグナルは、アニメーションが開始されたときに発火します。

これは、最上位の独立したアニメーションに対してのみトリガーされます。Behavior や Transition 内のアニメーション、あるいはアニメーショングループの一部であるアニメーションに対してはトリガーされません。

注: 対応するハンドラは `onStarted` です。

stopped()

このシグナルは、アニメーションが終了したときに発生します。

アニメーションは手動で停止されたか、または最後まで実行された可能性があります。

このシグナルは、最上位のスタンドアロンアニメーションに対してのみトリガーされます。Behavior や Transition 内のアニメーション、あるいはアニメーショングループの一部であるアニメーションに対してはトリガーされません。

alwaysRunToEnd が true の場合、アニメーションが現在の反復を完了するまで、このシグナルは発信されません。

注: 対応するハンドラは onStopped です。

メソッドのドキュメント

void complete()

アニメーションを停止し、最終的なプロパティ値にジャンプします。

アニメーションが実行されていない場合、このメソッドを呼び出しても何の効果もありません。`complete()`を呼び出した後、`running `プロパティは`false`になります。

stop() とは異なり、complete() はアニメーションを即座に最後まで早送りします。次の例では、

Rectangle {
    NumberAnimation on x { from: 0; to: 100; duration: 500 }
}

250msの時点でstop() を呼び出すと、x プロパティの値は50になりますが、complete() を呼び出すと、あたかもアニメーションが最後まで再生されたかのように、x プロパティの値は100に設定されます。

void pause()

アニメーションを一時停止します。

アニメーションがすでに一時停止している場合、またはrunning でない場合、このメソッドを呼び出しても何の効果もありません。pause() を呼び出した後、paused プロパティはtrueになります。

void restart()

アニメーションを再開します。

これは利便性を高めるためのメソッドであり、stop() を呼び出した後にstart() を呼び出すのと同じ効果があります。

void resume()

一時停止中のアニメーションを再開します。

アニメーションが一時停止されていない場合、またはrunning ではない場合、このメソッドを呼び出しても何の効果もありません。resume() を呼び出した後、paused プロパティはfalseになります。

void start()

アニメーションを開始します。

アニメーションがすでに実行中の場合、このメソッドを呼び出しても何の効果もありません。start() を呼び出した後、running プロパティはtrueになります。

void stop()

アニメーションを停止します。

アニメーションが実行されていない場合、このメソッドを呼び出しても何の効果もありません。stop() を呼び出した後、running およびpaused のプロパティはどちらもfalseになります。

通常、stop() はアニメーションを直ちに停止させ、アニメーションはそれ以降、プロパティの値に影響を与えません。この例では、アニメーションが

Rectangle {
    NumberAnimation on x { from: 0; to: 100; duration: 500 }
}

が250ミリ秒の時点で停止された場合、x プロパティの値は50となります。

しかし、alwaysRunToEnd プロパティが設定されている場合、アニメーションは完了するまで実行され続け、その後停止します。running プロパティは、依然として直ちにfalseになります。

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