このページでは

C

Animation QML Type

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

Import Statement: import QtQuick
Since: Qt Quick Ultralite 1.0
Inherited By:
10 types

ColorAnimation, CoordinateAnimation, NumberAnimation, ParallelAnimation, PauseAnimation, PropertyAnimation, RotationAnimation, ScriptAction, SequentialAnimation, and TimelineAnimation

プロパティ

信号

  • 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 ` は、トランジション内のアニメーションには影響しません。

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構文を使用してプロパティの値ソースとしてアニメーションが割り当てられた場合、デフォルトで実行状態になります。

Signal ドキュメント

[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ライセンスで利用可能です。
詳細はこちら。