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 } }
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 になります。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。