QVariantAnimation Class
QVariantAnimationクラスはアニメーションの基本クラスです。さらに...
ヘッダー | #include <QVariantAnimation> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
を継承する: | QAbstractAnimation |
継承元: |
- 継承メンバを含む全メンバのリスト
- QVariantAnimationはAnimation Frameworkの一部です。
パブリックタイプ
プロパティ
|
|
公共機能
QVariantAnimation(QObject *parent = nullptr) | |
virtual | ~QVariantAnimation() |
QBindable<int> | bindableDuration() |
QBindable<QEasingCurve> | bindableEasingCurve() |
QVariant | currentValue() const |
QEasingCurve | easingCurve() const |
QVariant | endValue() const |
QVariant | keyValueAt(qreal step) const |
QVariantAnimation::KeyValues | keyValues() const |
void | setDuration(int msecs) |
void | setEasingCurve(const QEasingCurve &easing) |
void | setEndValue(const QVariant &value) |
void | setKeyValueAt(qreal step, const QVariant &value) |
void | setKeyValues(const QVariantAnimation::KeyValues &keyValues) |
void | setStartValue(const QVariant &value) |
QVariant | startValue() const |
再実装パブリック関数
virtual int | duration() const override |
シグナル
void | valueChanged(const QVariant &value) |
保護された機能
virtual QVariant | interpolated(const QVariant &from, const QVariant &to, qreal progress) const |
virtual void | updateCurrentValue(const QVariant &value) |
再実装されたプロテクト関数
virtual bool | event(QEvent *event) override |
virtual void | updateCurrentTime(int) override |
virtual void | updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) override |
関連する非会員
void | qRegisterAnimationInterpolator(QVariant (*)(const T &, const T &, qreal) func) |
詳細説明
このクラスはアニメーション・フレームワークの一部である。プロパティとアイテムのアニメーションの基本クラスとして機能し、共有機能のための関数があります。
このクラスはQVariant秒間の補間を行いますが、補間値の使用はサブクラスに任せます。現在、Qt は Qtプロパティをアニメーション化するQPropertyAnimation を提供しています。このようなプロパティをアニメーション化したい場合は、QPropertyAnimation クラスの説明を参照してください。
次に、setStartValue ()とsetEndValue ()を呼び出すことで、プロパティの開始値と終了値を設定し、最後にstart ()を呼び出してアニメーションを開始します。QVariantAnimation は、ターゲット・オブジェクトのプロパティを補間し、valueChanged() を呼び出します。現在値の変化に反応するには、updateCurrentValue() 仮想関数を再実装するか、そのシグナルに接続する必要があります。
また、開始値と終了値の間に指定したステップの値を設定することも可能です。この場合、補間は指定されたステップでこれらのポイントに接触します。開始値と終了値は、0.0と1.0のキー値として定義されていることに注意。
QVariantAnimationが値を補間する方法には、2つの方法があります。setEasingCurve() を呼び出してイージングカーブを設定し、setDuration() を呼び出して持続時間を設定します。QVariantAnimationのサブクラスを作成し、仮想interpolated ()関数を再実装することで、QVariantの補間方法を変更することができます。
Qt プロパティとして宣言したくないQVariantがある場合、QVariantAnimation をサブクラス化することもできます。しかし、ほとんどの場合、QVariant をプロパティとして宣言した方が良いことに注意してください。
すべてのQVariant 型がサポートされているわけではありません。以下は、現在サポートされているQVariant 型のリストです:
カスタム型を含む他のバリアント型を補間する必要がある場合は、自分で補間を実装する必要があります。これを行うには、与えられた型の補間関数を登録します。この関数は3つのパラメータをとります:開始値、終了値、現在の進行状況です。
例
QVariantmyColorInterpolator(constQColor&start, constQColor&end、 qrealprogress) { ... returnQColor(...); } ... qRegisterAnimationInterpolator<QColor>(myColorInterpolator);
もう1つの方法は、interpolated ()を再実装することで、補間される値の補間値を返す。
QPropertyAnimation,QAbstractAnimation,The Animation Frameworkも参照のこと 。
メンバ型ドキュメント
[alias]
QVariantAnimation::KeyValue
これはstd::pair<qreal,QVariant>の型定義である。
QVariantAnimation::KeyValues
プロパティ・ドキュメンテーション
[read-only]
currentValue : const QVariant
このプロパティは、アニメーションの現在値を保持する。
このプロパティは現在値を記述する。start value とend value の間の補間値で、進行のために現在時刻を使用する。この値自体は、interpolated() から取得されます。 () は、アニメーションの実行中に繰り返し呼び出されます。
QVariantAnimation は、現在の値が変更されると、仮想の () 関数を呼び出します。これは、更新を追跡する必要があるサブクラスにとって特に便利です。例えば、 は QtupdateCurrentValue QPropertyAnimation プロパティのアニメーションにこの関数を使用します。
アクセス関数
QVariant | currentValue() const |
Notifier シグナル:
void | valueChanged(const QVariant &value) |
startValue およびendValueも参照して ください。
[bindable]
duration : int
注意: このプロパティはQProperty バインディングに対応しています。
このプロパティは、アニメーションの継続時間を保持します。
このプロパティは、アニメーションの継続時間をミリ秒単位で記述します。デフォルトは250ミリ秒です。
QAbstractAnimation::duration()も参照してください 。
[bindable]
easingCurve : QEasingCurve
注意: このプロパティはQProperty バインディングに対応しています。
このプロパティは、アニメーションのイージングカーブを保持します。
このプロパティはアニメーションのイージングカーブを定義します。デフォルトでは、線形イージングカーブが使用され、線形補間となります。他のカーブも用意されており、例えばQEasingCurve::InCirc は円形のエントリーカーブを提供します。他の例としては、QEasingCurve::InOutElastic があり、これは補間されたバリアントの値に弾性効果を与えます。
QVariantAnimation は、 () を使って、アニメーションの「正規化された進捗」(currentTime / totalDuration) を、アニメーションで実際に使われる実効進捗に変換します。 () が呼び出されたときの進捗は、この有効な進捗です。また、 のステップは、この有効な進捗を参照しています。QEasingCurve::valueForProgress interpolated keyValues
イージングカーブは、インターポレーター、interpolated() 仮想関数、およびアニメーションのデュレーションとともに使用され、アニメーションの進行に応じて現在値がどのように変化するかを制御します。
endValue : QVariant
このプロパティは、アニメーションの終了値を保持する
このプロパティは、アニメーションの終了値を記述する。
アクセス関数です:
QVariant | endValue() const |
void | setEndValue(const QVariant &value) |
startValueも参照してください 。
startValue : QVariant
このプロパティは、アニメーションの任意の開始値を保持する
このプロパティは、アニメーションのオプションの開始値を記述する。省略された場合、または nullQVariant が開始値として割り当てられた場合、アニメーションは、アニメーションが開始されたときの現在の終了位置を使用します。
アクセス関数:
QVariant | startValue() const |
void | setStartValue(const QVariant &value) |
endValueも参照 。
メンバ関数ドキュメント
QVariantAnimation::QVariantAnimation(QObject *parent = nullptr)
QVariantAnimation オブジェクトを構築します。parent はQAbstractAnimation のコンストラクタに渡されます。
[virtual noexcept]
QVariantAnimation::~QVariantAnimation()
アニメーションを破壊する。
[override virtual protected]
bool QVariantAnimation::event(QEvent *event)
再実装:QAbstractAnimation::event(QEvent *event)。
[virtual protected]
QVariant QVariantAnimation::interpolated(const QVariant &from, const QVariant &to, qreal progress) const
この仮想関数は、バリアントfrom とto の間の線形補間を、progress で、通常は 0 から 1 の間の値で返します。独自の補間アルゴリズムを提供するために、QVariantAnimation のサブクラスでこの関数を再実装することができます。
0より小さい値や1より大きい値を返すQEasingCurve (例えばQEasingCurve::InBack )で補間が動作するためには、補外が可能であることを確認する必要があることに注意してください。データ型のセマンティックが外挿を許さない場合、この関数はそれを潔く処理しなければなりません。
自分のクラスで Qt が既にサポートしているデータ型を扱いたい場合は、この関数の実装QVariantAnimation を呼び出す必要があります (サポートされているデータ型の一覧はクラスQVariantAnimation の説明を参照してください)。
QEasingCurveも参照して ください。
QVariant QVariantAnimation::keyValueAt(qreal step) const
与えられたstep のキーフレーム値を返す。与えられたstep は 0 から 1 の範囲でなければならない。step に対するKeyValue がない場合は、無効なQVariant を返す。
keyValues() およびsetKeyValueAt()も参照 。
QVariantAnimation::KeyValues QVariantAnimation::keyValues() const
このアニメーションのキーフレームを返します。
keyValueAt() およびsetKeyValues()も参照 ください。
void QVariantAnimation::setKeyValueAt(qreal step, const QVariant &value)
与えられたvalue で、与えられたstep にキーフレームを作成します。与えられたstep は 0 から 1 の範囲でなければなりません。
setKeyValues() およびkeyValueAt()も参照 。
void QVariantAnimation::setKeyValues(const QVariantAnimation::KeyValues &keyValues)
現在のキーフレームを、与えられたkeyValues で置き換える。キーフレームのステップは、0から1の範囲でなければならない。
keyValues() およびkeyValueAt()も参照 。
[override virtual protected]
void QVariantAnimation::updateCurrentTime(int)
を再定義する:QAbstractAnimation::updateCurrentTime(int currentTime).
[virtual protected]
void QVariantAnimation::updateCurrentValue(const QVariant &value)
この仮想関数は、アニメーションの現在値が変わるたびに呼び出される。value の引数は新しい現在値です。
基底クラスの実装は何もしません。
currentValueも参照してください 。
[override virtual protected]
void QVariantAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
再実装:QAbstractAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState).
[signal]
void QVariantAnimation::valueChanged(const QVariant &value)
QVariantAnimation は、現在の が変更されるたびにこのシグナルを発する。value
注: currentValue プロパティに対するノーティファイア・シグナル。
currentValue 、startValue 、endValueも参照 。
© 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.