QGraphicsItemAnimation Class

QGraphicsItemAnimationクラスは、QGraphicsItem の簡単なアニメーションのサポートを提供します。さらに...

ヘッダ #include <QGraphicsItemAnimation>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
を継承する: QObject
ステータス非推奨

このクラスは非推奨です。新しいコードで使用しないことを強くお勧めします。

パブリック関数

QGraphicsItemAnimation(QObject *parent = nullptr)
virtual ~QGraphicsItemAnimation()
void clear()
qreal horizontalScaleAt(qreal step) const
qreal horizontalShearAt(qreal step) const
QGraphicsItem *item() const
QPointF posAt(qreal step) const
QList<std::pair<qreal, QPointF>> posList() const
qreal rotationAt(qreal step) const
QList<std::pair<qreal, qreal>> rotationList() const
QList<std::pair<qreal, QPointF>> scaleList() const
void setItem(QGraphicsItem *item)
void setPosAt(qreal step, const QPointF &point)
void setRotationAt(qreal step, qreal angle)
void setScaleAt(qreal step, qreal sx, qreal sy)
void setShearAt(qreal step, qreal sh, qreal sv)
void setTimeLine(QTimeLine *timeLine)
void setTranslationAt(qreal step, qreal dx, qreal dy)
QList<std::pair<qreal, QPointF>> shearList() const
QTimeLine *timeLine() const
QTransform transformAt(qreal step) const
QList<std::pair<qreal, QPointF>> translationList() const
qreal verticalScaleAt(qreal step) const
qreal verticalShearAt(qreal step) const
qreal xTranslationAt(qreal step) const
qreal yTranslationAt(qreal step) const

パブリックスロット

void setStep(qreal step)

保護された関数

virtual void afterAnimationStep(qreal step)
virtual void beforeAnimationStep(qreal step)

詳細説明

QGraphicsItemAnimation クラスは、QGraphicsItem をアニメーション化します。指定したステップでアイテムの変換行列の変更をスケジュールできます。QGraphicsItemAnimation クラスは、現在のステップ値を持っています。この値が変更されると、そのステップでスケジュールされた変換が実行されます。アニメーションの現在のステップは、setStep() 関数で設定します。

QGraphicsItemAnimation は、行列を計算するために、最も近い隣接するスケジュールされた変更の間で単純な線形補間を行います。例えば、アイテムの位置を0.0と1.0に設定した場合、アニメーションはこれらの位置の間を直線で移動するアイテムを表示します。拡大縮小や回転も同様です。

このクラスは、QTimeLine で使用するのが一般的です。タイムラインのvalueChanged() シグナルは、setStep() スロットに接続されます。例えば、異なるステップ値に対してsetRotationAt() を呼び出すことで、アイテムの回転を設定することができます。アニメーションのタイムラインは、setTimeLine() 関数で設定します。

タイムライン付きのアニメーションの例を次に示します:

    QGraphicsItem *ball = new QGraphicsEllipseItem(0, 0, 20, 20);

    QTimeLine *timer = new QTimeLine(5000);
    timer->setFrameRange(0, 100);

    QGraphicsItemAnimation *animation = new QGraphicsItemAnimation;
    animation->setItem(ball);
    animation->setTimeLine(timer);

    for (int i = 0; i < 200; ++i)
        animation->setPosAt(i / 200.0, QPointF(i, i));

    QGraphicsScene *scene = new QGraphicsScene;
    scene->setSceneRect(0, 0, 250, 250);
    scene->addItem(ball);

    QGraphicsView *view = new QGraphicsView(scene);
    view->show();

    timer->start();

ステップは0.0から1.0の間であることに注意してください。setUpdateInterval ()を使用する必要があるかもしれません。デフォルトの更新間隔は 40 ミリ秒です。スケジュールされた変形は、設定されると削除できないので、同じステップで同じ種類の複数の変形(回転など)をスケジュールすることは推奨されません。

QTimeLine およびGraphics View Frameworkも参照の こと。

メンバー関数ドキュメント

QGraphicsItemAnimation::QGraphicsItemAnimation(QObject *parent = nullptr)

与えられたparent でアニメーションオブジェクトを構築します。

[virtual noexcept] QGraphicsItemAnimation::~QGraphicsItemAnimation()

アニメーションオブジェクトを破棄します。

[virtual protected] void QGraphicsItemAnimation::afterAnimationStep(qreal step)

このメソッドは、新しいステップが行われた後に追加のコードを実行する必要があるサブクラスでオーバーライドされることを意図しています。アニメーションstep は、アクションがその値に依存する場合に使用するために用意されています。

[virtual protected] void QGraphicsItemAnimation::beforeAnimationStep(qreal step)

このメソッドは、新しいステップが行われる前に追加のコードを実行する必要があるサブクラスによってオーバーライドされることを意図しています。アニメーションstep は、アクションがその値に依存する場合に使用するために提供されます。

void QGraphicsItemAnimation::clear()

アニメーションに使用されたスケジュールされたトランスフォームをクリアしますが、アイテムとタイムラインは保持します。

qreal QGraphicsItemAnimation::horizontalScaleAt(qreal step) const

指定されたstep 値の項目の水平スケールを返します。

setScaleAt()も参照

qreal QGraphicsItemAnimation::horizontalShearAt(qreal step) const

指定されたstep 値におけるアイテムの水平方向のせん断を返す。

setShearAt()も参照

QGraphicsItem *QGraphicsItemAnimation::item() const

アニメーションオブジェクトが操作される項目を返します。

setItem()も参照してください

QPointF QGraphicsItemAnimation::posAt(qreal step) const

指定されたstep 値におけるアイテムの位置を返す。

setPosAt()も参照

QList<std::pair<qreal, QPointF>> QGraphicsItemAnimation::posList() const

明示的に挿入されたすべての位置を返す。

posAt() およびsetPosAt()も参照

qreal QGraphicsItemAnimation::rotationAt(qreal step) const

指定されたstep の値でアイテムが回転する角度を返します。

setRotationAt()も参照

QList<std::pair<qreal, qreal>> QGraphicsItemAnimation::rotationList() const

明示的に挿入されたすべての回転を返す。

rotationAt() およびsetRotationAt()も参照

QList<std::pair<qreal, QPointF>> QGraphicsItemAnimation::scaleList() const

明示的に挿入されたすべてのスケールを返します。

verticalScaleAt()、horizontalScaleAt() およびsetScaleAt()も参照

void QGraphicsItemAnimation::setItem(QGraphicsItem *item)

アニメーションで使用するitem を設定します。

item()も参照してください

void QGraphicsItemAnimation::setPosAt(qreal step, const QPointF &point)

指定されたpoint の位置に、指定されたstep の値を設定する。

posAt()も参照

void QGraphicsItemAnimation::setRotationAt(qreal step, qreal angle)

指定されたstep の値のアイテムの回転を、指定されたangle に設定します。

rotationAt()も参照

void QGraphicsItemAnimation::setScaleAt(qreal step, qreal sx, qreal sy)

sxsy で指定された水平・垂直倍率を使用して、与えられたstep の値でアイテムの倍率を設定します。

verticalScaleAt() およびhorizontalScaleAt()も参照

void QGraphicsItemAnimation::setShearAt(qreal step, qreal sh, qreal sv)

shsv で指定された水平と垂直のせん断係数を用いて、与えられたstep の値でアイテムのせん断を設定する。

verticalShearAt() およびhorizontalShearAt()も参照の こと。

[slot] void QGraphicsItemAnimation::setStep(qreal step)

アニメーションの現在のstep 値を設定し、このステップでスケジュールされたトランスフォームを実行させます。

void QGraphicsItemAnimation::setTimeLine(QTimeLine *timeLine)

アニメーションのレートを制御するために使用されるタイムラインオブジェクトを、指定されたtimeLine に設定します。

timeLine()も参照

void QGraphicsItemAnimation::setTranslationAt(qreal step, qreal dx, qreal dy)

dxdy で指定された水平座標と垂直座標を使って、 与えられたstep の値のアイテムの平行移動量を設定します。

xTranslationAt() およびyTranslationAt()も参照

QList<std::pair<qreal, QPointF>> QGraphicsItemAnimation::shearList() const

明示的に挿入されたすべての鋏を返す。

verticalShearAt()、horizontalShearAt() およびsetShearAt()も参照

QTimeLine *QGraphicsItemAnimation::timeLine() const

アニメーションの発生速度を制御するために使用されるタイムラインオブジェクトを返します。

setTimeLine()も参照してください

QTransform QGraphicsItemAnimation::transformAt(qreal step) const

指定されたstep 値でアイテムに使用された変換を返します。

QList<std::pair<qreal, QPointF>> QGraphicsItemAnimation::translationList() const

明示的に挿入されたすべての翻訳を返します。

xTranslationAt()、yTranslationAt() およびsetTranslationAt()も参照 ください。

qreal QGraphicsItemAnimation::verticalScaleAt(qreal step) const

指定されたstep 値の項目の垂直スケールを返します。

setScaleAt()も参照

qreal QGraphicsItemAnimation::verticalShearAt(qreal step) const

指定されたstep 値におけるアイテムの垂直せん断を返す。

setShearAt()も参照

qreal QGraphicsItemAnimation::xTranslationAt(qreal step) const

指定されたstep におけるアイテムの水平移動量を返す。

setTranslationAt()も参照してください

qreal QGraphicsItemAnimation::yTranslationAt(qreal step) const

指定されたstep におけるアイテムの垂直平行移動量を返す。

setTranslationAt()も参照してください

© 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.