C
Animation QML Type
すべてのQMLアニメーションの基盤となります。詳細...
| Import Statement: | import QtQuick |
| Since: | Qt Quick Ultralite 1.0 |
| Inherited By: |
プロパティ
- alwaysRunToEnd : bool
- loops : int
- running : bool
シグナル
- finished()
(since Qt Quick Ultralite 1.1) - void started()
(since Qt Quick Ultralite 1.1) - void stopped()
(since Qt Quick Ultralite 1.1)
方法
詳細な説明
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
}
}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構文を使用してプロパティの値ソースとしてアニメーションが割り当てられた場合、デフォルトで実行状態になります。
シグナルのドキュメント
[since Qt Quick Ultralite 1.1] finished()
このシグナルは、アニメーションが自然に終了したときに発火します。
running がfalse に設定されている場合や、loops プロパティがAnimation.Infinite に設定されているアニメーションでは、このシグナルは発火しません。
また、このシグナルは、最上位のスタンドアロンのアニメーションに対してのみ発火します。Behavior や Transition 内のアニメーション、あるいはアニメーショングループの一部であるアニメーションに対しては発火しません。
alwaysRunToEnd がtrueの場合、アニメーションが現在の反復を完了するまで、このシグナルは発火しません。
注: 対応するハンドラは onFinished です。
このシグナルは、Qt Quick Ultralite 1.1 で導入されました。
stopped()、started()、およびrunningも参照してください 。
[since Qt Quick Ultralite 1.1] void started()
このシグナルは、アニメーションが開始されたときに発火します。
このシグナルは、最上位の独立したアニメーションに対してのみトリガーされます。Behavior や Transition 内のアニメーション、あるいはアニメーショングループの一部であるアニメーションに対してはトリガーされません。
注: 対応するハンドラは `onStarted` です。
このシグナルは、Qt Quick Ultralite 1.1 で導入されました。
[since Qt Quick Ultralite 1.1] void stopped()
このシグナルは、アニメーションが終了したときに発せられます。
アニメーションは手動で停止されたか、または最後まで実行された可能性があります。
このシグナルは、最上位のスタンドアロンアニメーションに対してのみトリガーされます。Behavior や Transition 内のアニメーション、あるいはアニメーショングループの一部であるアニメーションに対してはトリガーされません。
alwaysRunToEnd が true の場合、アニメーションが現在の反復を完了するまで、このシグナルは発火しません。
注: 対応するハンドラは onStopped です。
このシグナルは、Qt Quick Ultralite 1.1 で導入されました。
メソッドのドキュメント
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になります。
特定の Qt ライセンスで利用可能です。
詳細はこちら。