Описание класса QGraphicsItemAnimation
|
| 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 |
| void | setStep ( qreal step ) |
| virtual void | afterAnimationStep ( qreal step ) |
| virtual void | beforeAnimationStep ( qreal step ) |
Класс 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 и Каркас графического представления.
Создаёт объект анимации с заданным родителем parent.
Уничтожает анимационный объект.
Подразумевается что этот метод будет переопределён в подклассах, которым необходимо выполнять дополнительный код после того как наступил новый шаг. Шаг анимации step предоставляется для случаев, когда действие зависит от его значения.
Подразумевается что этот метод будет переопределён в подклассах, которым необходимо выполнять дополнительный код перед тем как наступил новый шаг. Шаг анимации step предоставляется для случаев, когда действие зависит от его значения.
Очищает запланированные преобразования, используемые для анимации, но сохраняет элемент и шкалу времени.
Возвращает значение горизонтального масштаба элемента для указанного значения шага step.
Смотрите также setScaleAt().
Возвращает значение горизонтального обрезания элемента для указанного значения шага step.
Смотрите также setShearAt().
Возвращает элемент с которым работает объект анимации.
Смотрите также setItem().
Возвращает матрицу, используемую для преобразования элемента, для указанного значения шага step.
Возвращает положение элемента для указанного значения шага step.
Смотрите также setPosAt().
Возвращает все явно заданные положения.
Смотрите также posAt() и setPosAt().
Возвращает угол, на который элемент будет повёрнут, для указанного значения шага step.
Смотрите также setRotationAt().
Возвращает все явно заданные повороты.
Смотрите также rotationAt() и setRotationAt().
Возвращает все явно заданные масштабы.
Смотрите также verticalScaleAt(), horizontalScaleAt() и setScaleAt().
Устанавливает указанный элемент item для использования в анимации.
Смотрите также item().
Устанавливает положение элемента для указанного значения шага step равным point.
Смотрите также posAt().
Устанавливает поворот элемента для указанного значения шага step равным углу angle.
Смотрите также rotationAt().
Устанавливает масштаб элемента для указанного значения шага step используя коэффициенты горизонтального и вертикального масштаба, указанные sx и sy.
Смотрите также verticalScaleAt() и horizontalScaleAt().
Устанавливает обрезание элемента для указанного значения шага step используя коэффициенты горизонтального и вертикального обрезания, указанные sh и sv.
Смотрите также verticalShearAt() и horizontalShearAt().
Устанавливает значение текущего шага step, вызывая выполнения запланированных на этом шагу преобразований.
Устанавливает объект шкалы времени, используемый для контролирования скорости анимации, равным указанному timeLine.
Смотрите также timeLine().
Устанавливает масштаб элемента для указанного значения шага step используя горизонтальную и вертикальную координаты, указанные dx и dy.
Смотрите также xTranslationAt() и yTranslationAt().
Возвращает все явно заданные обрезания.
Смотрите также verticalShearAt(), horizontalShearAt() и setShearAt().
Возвращает объект шкалы времени, используемый для контролирования скорости анимации.
Смотрите также setTimeLine().
Возвращает все явно заданные перемещения.
Смотрите также xTranslationAt(), yTranslationAt() и setTranslationAt().
Возвращает значение вертикального масштаба элемента для указанного значения шага step.
Смотрите также setScaleAt().
Возвращает значение вертикального обрезания элемента для указанного значения шага step.
Смотрите также setShearAt().
Возвращает горизонтальное перемещение элемента для указанного значения шага step.
Смотрите также setTranslationAt().
Возвращает вертикальное перемещение элемента для указанного значения шага step.
Смотрите также setTranslationAt().
| Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies) | Торговые марки | Qt 4.6.4 |
|
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |