Animation QML Type
すべての QML アニメーションの基本です。詳細...
Import Statement: | import QtQuick |
Inherited By: |
プロパティ
- alwaysRunToEnd : bool
- loops : int
- paused : bool
- running : bool
信号
方法
詳細説明
Animation型はQMLファイルの中で直接使用することはできません。Animation型は共通のプロパティとメソッドを提供するために存在し、それを継承した他のすべてのAnimation型で利用可能です。Animation型を直接使用しようとするとエラーになります。
プロパティ Documentation
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
です。
started() |
このシグナルはアニメーションの開始時に発せられます。
このシグナルはトップレベルのスタンドアローンアニメーションに対してのみトリガーされます。ビヘイビアやトランジション内のアニメーション、アニメーショングループのアニメーションではトリガーされません。
注: 対応するハンドラはonStarted
です。
stopped() |
このシグナルは、アニメーションが終了したときに発行されます。
アニメーションは手動で停止された場合もあれば、完了まで実行された場合もあります。
このシグナルはトップレベルのスタンドアローンアニメーションに対してのみトリガーされます。ビヘイビアやトランジション内のアニメーション、アニメーショングループのアニメーションではトリガーされません。
alwaysRunToEnd が true の場合、アニメーションが現在のイテレーションを完了するまで、このシグナルは発生しません。
注: 対応するハンドラはonStopped
です。
メソッドの説明
complete() |
アニメーションを停止し、最終的なプロパティ値にジャンプします。
アニメーションが実行されていない場合、このメソッドを呼び出しても効果はありません。complete()
を呼び出すと、running
プロパティは false になります。
stop()
とは異なり、complete()
はアニメーションを即座に終了まで早送りします。次の例では
Rectangle { NumberAnimation on x { from: 0; to: 100; duration: 500 } }
時間 250ms でstop()
を呼び出すと、x
プロパティの値は 50 になり、complete()
を呼び出すと、x
プロパティは 100 になります。
pause() |
アニメーションを一時停止する
アニメーションがすでに一時停止されているか、running
されていない場合、このメソッドを呼び出しても効果はありません。pause()
を呼び出すと、paused
プロパティは真になります。
restart() |
アニメーションを再開する
これは便宜的なメソッドで、stop()
を呼び出してからstart()
を呼び出すのと同じです。
resume() |
一時停止したアニメーションを再開する
アニメーションが一時停止されていないか、running
されていない場合、このメソッドを呼び出しても効果はありません。resume()
を呼び出すと、paused
プロパティは false になります。
start() |
アニメーションを開始する
アニメーションがすでに実行されている場合、このメソッドを呼び出しても効果はありません。start()
を呼び出すと、running
プロパティは true になります。
stop() |
アニメーションを停止する
アニメーションが実行されていない場合、このメソッドを呼び出しても効果はありません。stop()
を呼び出すと、running
とpaused
の両プロパティは false になります。
通常、stop()
はアニメーションを即座に停止し、アニメーションはプロパティ値にそれ以上影響を与えません。この例では
Rectangle { NumberAnimation on x { from: 0; to: 100; duration: 500 } }
が時間 250ms で停止した場合、x
プロパティの値は 50 になります。
しかし、alwaysRunToEnd
プロパティが設定されている場合、アニメーションは完了するまで実行され続け、その後停止します。running
プロパティは、やはりすぐに false になります。
© 2025 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.