QGraphicsItemAnimation Class
QGraphicsItemAnimation クラスは、QGraphicsItem の簡単なアニメーション・サポートを提供します。詳細...
Header: | #include <QGraphicsItemAnimation> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Inherits: | QObject |
Status: | Deprecated |
このクラスは非推奨です。新しいコードで使用しないことを強くお勧めします。
パブリック関数
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<QPair<qreal, QPointF>> | posList() const |
qreal | rotationAt(qreal step) const |
QList<QPair<qreal, qreal>> | rotationList() const |
QList<QPair<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<QPair<qreal, QPointF>> | shearList() const |
QTimeLine * | timeLine() const |
QTransform | transformAt(qreal step) const |
QList<QPair<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<QPair<qreal, QPointF>> QGraphicsItemAnimation::posList() const
明示的に挿入された位置をすべて返します。
qreal QGraphicsItemAnimation::rotationAt(qreal step) const
指定されたstep 値における項目の回転角度を返します。
setRotationAt() も参照して ください。
QList<QPair<qreal, qreal>> QGraphicsItemAnimation::rotationList() const
明示的に挿入されたすべての回転を返します。
rotationAt() およびsetRotationAt() も参照 。
QList<QPair<qreal, QPointF>> QGraphicsItemAnimation::scaleList() const
明示的に挿入されたすべてのスケールを返します。
verticalScaleAt()、horizontalScaleAt() およびsetScaleAt() も参照 。
void QGraphicsItemAnimation::setItem(QGraphicsItem *item)
アニメーションで使用する指定されたitem を設定します。
item() も参照して ください。
void QGraphicsItemAnimation::setPosAt(qreal step, const QPointF &point)
指定されたstep の値におけるアイテムの位置を、指定されたpoint に設定します。
posAt() も参照 。
void QGraphicsItemAnimation::setRotationAt(qreal step, qreal angle)
指定されたstep の値における項目の回転を、指定されたangle に設定する。
rotationAt() も参照 。
void QGraphicsItemAnimation::setScaleAt(qreal step, qreal sx, qreal sy)
sx およびsy で指定された水平および垂直スケール係数を用いて、 指定されたstep の値の項目のスケールを設定する。
verticalScaleAt() およびhorizontalScaleAt() も参照 。
void QGraphicsItemAnimation::setShearAt(qreal step, qreal sh, qreal sv)
sh およびsv で指定されている水平および垂直シア係数を用いて、 与えられた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)
dx とdy で指定された水平座標と垂直座標を使用して、指定されたstep 値でアイテムの平行移動を設定します。
xTranslationAt() およびyTranslationAt() も参照して ください。
QList<QPair<qreal, QPointF>> QGraphicsItemAnimation::shearList() const
明示的に挿入されたすべての鋏を返します。
verticalShearAt()、horizontalShearAt()、setShearAt() も参照 。
QTimeLine *QGraphicsItemAnimation::timeLine() const
アニメーションの発生速度を制御するためのタイムラインオブジェクトを返します。
setTimeLine() も参照して ください。
QTransform QGraphicsItemAnimation::transformAt(qreal step) const
指定されたstep 値のアイテムに使用されたトランスフォームを返します。
QList<QPair<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() も参照して ください。
©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。