Animation QML Type
すべての QML アニメーションの基本です。詳細...
| Import Statement: | import QtQuick |
| Inherited By: | 23 typesAnchorAnimation, Animator, ColorAnimation, NumberAnimation, OpacityAnimator, ParallelAnimation, ParentAnimation, PathAnimation, PauseAnimation, PropertyAction, PropertyAnimation, QuaternionAnimation, RotationAnimation, RotationAnimator, ScaleAnimator, ScriptAction, SequentialAnimation, SmoothedAnimation, SpringAnimation, UniformAnimator, Vector3dAnimation, XAnimator, and YAnimator |
プロパティ
- alwaysRunToEnd : bool
- loops : int
- paused : bool
- running : bool
信号
方法
詳細説明
Animation型はQMLファイルの中で直接使用することはできません。Animation型は共通のプロパティとメソッドを提供するために存在し、それを継承した他のすべてのAnimation型で利用可能です。Animation型を直接使用しようとするとエラーになります。
プロパティの説明
alwaysRunToEnd : bool
このプロパティは、アニメーションが停止したときに完了まで実行するかどうかを保持します。
この値がtrueの場合、アニメーションは、running プロパティをfalseに設定するか、stop() メソッドを呼び出すことで、停止時に現在の反復を完了します。complete() メソッドはこの値の影響を受けません。
この動作は、loops プロパティが設定されている場合に最も有用で、アニメーションは正常に再生を終了しますが、再起動はしません。
デフォルトでは、alwaysRunToEnd プロパティは設定されていません。
注意: alwaysRunToEnd は、Transition 内のアニメーションには影響しません。
loops : int
このプロパティは、アニメーションの再生回数を保持します。
デフォルトでは、loops は 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構文を使用してプロパティ値ソースとしてアニメーションがプロパティに割り当てられている場合、デフォルトでアニメーションが実行されているように設定されます。
シグナル・ドキュメント
finished()
このシグナルは、アニメーションが自然に終了したときに発せられる。
running がfalse に設定されているときや、loops プロパティがAnimation.Infinite に設定されているアニメーションでは発せられません。
また、このシグナルはトップレベルのスタンドアロン・アニメーションに対してのみ発せられます。ビヘイビア(Behavior)やトランジション(Transition)内のアニメーションや、アニメーション・グループの一部であるアニメーションでは、このシグナルは発せられません。
alwaysRunToEnd が true の場合、アニメーションが現在のイテレーションを完了するまで、このシグナルは発行されません。
注: 対応するハンドラはonFinished です。
stopped()、started()、runningも参照してください 。
started()
このシグナルはアニメーションの開始時に発せられる。
このシグナルは、トップレベルのスタンドアロン・アニメーションに対してのみトリガーされます。ビヘイビアやトランジションのアニメーション、アニメーショングループのアニメーションではトリガーされません。
注: 対応するハンドラはonStarted です。
stopped()
このシグナルはアニメーションが終了したときに発せられる。
アニメーションは手動で停止されたかもしれないし、完了まで実行されたかもしれない。
このシグナルがトリガーされるのは、トップレベルのスタンドアロン・アニメーションのみです。ビヘイビアやトランジションのアニメーション、アニメーショングループのアニメーションではトリガーされません。
alwaysRunToEnd が true の場合、アニメーションが現在のイテレーションを完了するまで、このシグナルは発行されません。
注: 対応するハンドラはonStopped です。
メソッドのドキュメント
void complete()
アニメーションを停止し、最終的なプロパティ値にジャンプする。
アニメーションが実行されていない場合、このメソッドを呼び出しても効果はありません。complete() を呼び出すと、running プロパティは false になります。
stop() とは異なり、complete() はアニメーションを即座に終了まで早送りします。次の例では
Rectangle { NumberAnimation on x { from: 0; to: 100; duration: 500 } }
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 } }
が時間 250ms で停止した場合、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.