Описание класса QGraphicsItemAnimation [модуль QtGui]
Класс QGraphicsItemAnimation предоставляет простую поддержку анимации для QGraphicsItem. Далее...
#include <QGraphicsItemAnimation> Унаследован от: QObject.
Класс был добавлен в Qt 4.2.
Открытые функции
- QGraphicsItemAnimation ( QObject * parent = 0 )
- virtual ~QGraphicsItemAnimation ()
- void clear ()
- qreal horizontalScaleAt ( qreal step ) const
- qreal horizontalShearAt ( qreal step ) const
- QGraphicsItem * item () const
- QMatrix matrixAt ( qreal step ) 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
- 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
- 29 открытых функций, унаследованных от QObject
Открытые слоты
- 1 открытый слот, унаследованный от QObject
Защищенные функции
- 7 защищенных функций, унаследованных от QObject
Дополнительные унаследованные члены
- 1 свойство, унаследованное от QObject
- 1 сигнал, унаследованный от QObject
- 5 статических открытых членов, унаследованных от QObject
Подробное описание
Класс QGraphicsItemAnimation предоставляет простую поддержку анимации для QGraphicsItem.
Класс 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 и Каркас графического представления.
Описание функций-членов
QGraphicsItemAnimation::QGraphicsItemAnimation ( QObject * parent = 0 )
Создаёт объект анимации с заданным родителем parent.
QGraphicsItemAnimation::~QGraphicsItemAnimation () [virtual]
Уничтожает анимационный объект.
void QGraphicsItemAnimation::afterAnimationStep ( qreal step ) [virtual protected]
Подразумевается что этот метод будет переопределён в подклассах, которым необходимо выполнять дополнительный код после того как наступил новый шаг. Шаг анимации step предоставляется для случаев, когда действие зависит от его значения.
void QGraphicsItemAnimation::beforeAnimationStep ( qreal step ) [virtual protected]
Подразумевается что этот метод будет переопределён в подклассах, которым необходимо выполнять дополнительный код перед тем как наступил новый шаг. Шаг анимации 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().
QMatrix QGraphicsItemAnimation::matrixAt ( qreal step ) const
Возвращает матрицу, используемую для преобразования элемента, для указанного значения шага step.
QPointF QGraphicsItemAnimation::posAt ( qreal step ) const
Возвращает положение элемента для указанного значения шага step.
Смотрите также setPosAt().
QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::posList () const
Возвращает все явно заданные положения.
Смотрите также posAt() и setPosAt().
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 )
Устанавливает масштаб элемента для указанного значения шага step используя коэффициенты горизонтального и вертикального масштаба, указанные sx и sy.
Смотрите также verticalScaleAt() и horizontalScaleAt().
void QGraphicsItemAnimation::setShearAt ( qreal step, qreal sh, qreal sv )
Устанавливает обрезание элемента для указанного значения шага step используя коэффициенты горизонтального и вертикального обрезания, указанные sh и sv.
Смотрите также verticalShearAt() и horizontalShearAt().
void QGraphicsItemAnimation::setStep ( qreal step ) [slot]
Устанавливает значение текущего шага step, вызывая выполнения запланированных на этом шагу преобразований.
void QGraphicsItemAnimation::setTimeLine ( QTimeLine * timeLine )
Устанавливает объект шкалы времени, используемый для контролирования скорости анимации, равным указанному timeLine.
Смотрите также timeLine().
void QGraphicsItemAnimation::setTranslationAt ( qreal step, qreal dx, qreal dy )
Устанавливает масштаб элемента для указанного значения шага step используя горизонтальную и вертикальную координаты, указанные dx и dy.
Смотрите также xTranslationAt() и yTranslationAt().
QList<QPair<qreal, QPointF> > QGraphicsItemAnimation::shearList () const
Возвращает все явно заданные обрезания.
Смотрите также verticalShearAt(), horizontalShearAt() и setShearAt().
QTimeLine * QGraphicsItemAnimation::timeLine () const
Возвращает объект шкалы времени, используемый для контролирования скорости анимации.
Смотрите также setTimeLine().
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().
Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies) |
Торговые марки |
Qt 4.5.3 |
|