QPropertyAnimation Class
QPropertyAnimation クラスは、Qt のプロパティをアニメーション化します。もっと詳しく...
ヘッダ | #include <QPropertyAnimation> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
継承: | QVariantAnimation |
- 継承メンバを含む全メンバのリスト
- QPropertyAnimationはAnimation Frameworkの一部です。
プロパティ
- propertyName : QByteArray
- targetObject : QObject*
パブリック関数
QPropertyAnimation(QObject *parent = nullptr) | |
QPropertyAnimation(QObject *target, const QByteArray &propertyName, QObject *parent = nullptr) | |
virtual | ~QPropertyAnimation() |
QBindable<QByteArray> | bindablePropertyName() |
QBindable<QObject *> | bindableTargetObject() |
QByteArray | propertyName() const |
void | setPropertyName(const QByteArray &propertyName) |
void | setTargetObject(QObject *target) |
QObject * | targetObject() const |
再実装された保護された関数
virtual bool | event(QEvent *event) override |
virtual void | updateCurrentValue(const QVariant &value) override |
virtual void | updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) override |
詳しい説明
QPropertyAnimation はQt プロパティを補間します。プロパティ値はQVariantに格納されるため、このクラスはQVariantAnimation を継承し、スーパークラスと同じmeta types のアニメーションをサポートします。
プロパティを宣言するクラスは、QObject でなければなりません。プロパティのアニメーションを可能にするには、セッターを提供しなければなりません(QPropertyAnimation がプロパティの値を設定できるように)。これにより、Qt の多くのウィジェットをアニメートすることができます。例を見てみよう:
#include <QApplication> #include <QPushButton> #include <QPropertyAnimation> class MyButtonWidget : public QWidget { public: MyButtonWidget(QWidget *parent = nullptr); }; MyButtonWidget::MyButtonWidget(QWidget *parent) : QWidget(parent) { QPushButton *button = new QPushButton(tr("Animated Button"), this); QPropertyAnimation *anim = new QPropertyAnimation(button, "pos", this); anim->setDuration(10000); anim->setStartValue(QPoint(0, 0)); anim->setEndValue(QPoint(100, 250)); anim->start(); } int main(int argc, char *argv[]) { QApplication a(argc, argv); MyButtonWidget buttonAnimWidget; buttonAnimWidget.resize(QSize(800, 600)); buttonAnimWidget.show(); return a.exec(); }
Note: アニメーションを開始する際にdelete policy を選択することで、アニメーションの寿命をコントロールすることもできます。
どのプロパティをアニメーションさせるかは、プロパティ名とQObject インスタンスをコンストラクタに渡します。そして、プロパティの開始値と終了値を指定します。この手順は、自分で実装したクラスのプロパティでも同じです。QVariant の型がサポートされているか、QVariantAnimation で確認してください。
QVariantAnimation クラスの説明では、アニメーションの設定方法を詳しく説明しています。ただし、開始値が設定されていない場合、プロパティはQPropertyAnimationインスタンスが作成されたときの値から開始されることに注意してください。
QPropertyAnimationは、それ自体で魅力のように動作します。例えば、複数のオブジェクトを含む複雑なアニメーションには、QAnimationGroup 。アニメーション・グループとは、他のアニメーションを含むことができ、そのアニメーションが再生されるタイミングを管理できるアニメーションのことです。例としてQParallelAnimationGroup を見てください。
QVariantAnimation,QAnimationGroup,The Animation Frameworkも参照してください 。
プロパティ・ドキュメント
[bindable]
propertyName : QByteArray
注意: このプロパティはQProperty バインディングに対応しています。
このプロパティは、このアニメーションのターゲットプロパティ名を保持します。
このプロパティは、このアニメーションのターゲットプロパティ名を定義します。プロパティ名はアニメーションが動作するために必要です。
[bindable]
targetObject : QObject*
注意: このプロパティはQProperty バインディングをサポートしています。
このプロパティは、このアニメーションのターゲットQObject を保持します。
このプロパティは、このアニメーションのターゲットQObject を定義します。
メンバ関数ドキュメント
QPropertyAnimation::QPropertyAnimation(QObject *parent = nullptr)
QPropertyAnimation オブジェクトを構築します。parent はQObject のコンストラクタに渡されます。
QPropertyAnimation::QPropertyAnimation(QObject *target, const QByteArray &propertyName, QObject *parent = nullptr)
QPropertyAnimation オブジェクトを構築する。parent はQObject のコンストラクタに渡される。アニメーションはtarget のプロパティpropertyName を変更します。デフォルトの持続時間は250msです。
targetObject およびpropertyNameも参照してください 。
[virtual noexcept]
QPropertyAnimation::~QPropertyAnimation()
QPropertyAnimation インスタンスを破棄します。
[override virtual protected]
bool QPropertyAnimation::event(QEvent *event)
再実装:QVariantAnimation::event(QEvent *event)。
[override virtual protected]
void QPropertyAnimation::updateCurrentValue(const QVariant &value)
再インプリメント:QVariantAnimation::updateCurrentValue(const QVariant &value)。
この仮想関数は、現在の値が変更されるたびにQVariantAnimation によって呼び出されます。value は、更新された新しい値です。これは、ターゲット・オブジェクト上のプロパティの現在値を更新します。
currentValue およびcurrentTimeも参照してください 。
[override virtual protected]
void QPropertyAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
再実装:QVariantAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState).
アニメーションの状態が Stopped から Running に変わったときに startValue が定義されていない場合、現在のプロパティ値がアニメーションの初期値として使用されます。
© 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.