Описание класса QGraphicsItemAnimationКласс QGraphicsItemAnimation предоставляет простую поддержку анимации для QGraphicsItem. Далее... #include <QGraphicsItemAnimation> Этот класс устарел. Унаследован от: QObject. Класс был добавлен в Qt 4.2. Открытые функции
Открытые слоты
Защищенные функции
Дополнительные унаследованные члены
Подробное описаниеКласс 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(). |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |