Spec-Zone.ru › Qt 5.13

Класс QGraphicsRotation

Класс QGraphicsRotation обеспечивает вращение вокруг заданной оси. Подробнее...

Заголовок: #include <QGraphicsRotation>
qmake: QT += widgets
С тех пор: Qt 4.6
Наследует: QGraphicsTransform

Этот класс был представлен в Qt 4.6.

  • Список всех членов, включая наследуемые

Свойства

  • angle : qreal
  • axis : QVector3D
  • origin : QVector3D

Открытые функции

QGraphicsRotation(QObject *parent = nullptr)
virtual ~QGraphicsRotation()
qreal angle() const
QVector3D axis() const
QVector3D origin() const
void setAngle(qreal)
void setAxis(const QVector3D &axis)
void setAxis(Qt::Axis axis)
void setOrigin(const QVector3D &point)

Переопределенные открытые функции

virtual void applyTo(QMatrix4x4 *matrix) const override

Сигналы

void angleChanged()
void axisChanged()
void originChanged()

Подробное описание

Вы можете указать желаемую ось, присвоив QVector3D свойству axis или передав член Qt::Axis в удобную функцию setAxis. По умолчанию ось равна (0, 0, 1), т.е. вращение вокруг оси Z.

Свойство angle, которое предоставляется классом QGraphicsRotation, теперь описывает количество градусов поворота вокруг этой оси.

Класс QGraphicsRotation предоставляет определенные параметры для управления тем, как должно выполняться вращение.

Начальная точка — это точка, вокруг которой вращается элемент (т.е. она остается фиксированной относительно родителя при вращении остальной части элемента). По умолчанию начальная точка — QPointF(0, 0).

Свойство angle указывает количество градусов поворота элемента по часовой стрелке вокруг начальной точки. Это значение также может быть отрицательным, что указывает на поворот против часовой стрелки. Для целей анимации может быть полезно предоставить углы поворота, превышающие (-360, 360) градусов, например, чтобы анимировать, как элемент поворачивается несколько раз.

Примечание: конечный поворот — это комбинированный эффект поворота в трехмерном пространстве, за которым следует проекция обратно на 2D. Если повороты выполняются последовательно, они не будут вести себя как ожидается, если они не были вокруг оси Z.

См. также QGraphicsTransform, QGraphicsItem::setRotation() и QTransform::rotate().

Документация свойств

angle : qreal

Это свойство содержит угол поворота по часовой стрелке в градусах.

Угол может быть любым действительным числом; значение по умолчанию — 0,0. Значение 180 повернёт на 180 градусов по часовой стрелке. Если вы зададите отрицательное значение, элемент будет поворачиваться против часовой стрелки. Обычно угол поворота будет в диапазоне (-360, 360), но вы также можете указать числа за пределами этого диапазона (например, угол 370 градусов даст тот же результат, что и 10 градусов). Установка угла в NaN приводит к отсутствию поворота.

Функции доступа:

qreal angle() const
void setAngle(qreal)

Сигнал уведомления:

void angleChanged()

См. также origin.

axis : QVector3D

Это свойство содержит ось вращения, заданную вектором в трехмерном пространстве.

Это может быть любая ось в трехмерном пространстве. По умолчанию ось равна (0, 0, 1), что совпадает с осью Z. Если вы укажете другую ось, QGraphicsRotation предоставит преобразование, которое будет поворачивать вокруг этой оси. Например, если вы хотите повернуть элемент вокруг своей оси X, вы можете передать (1, 0, 0) как ось.

Функции доступа:

QVector3D axis() const
void setAxis(const QVector3D &axis)
void setAxis(Qt::Axis axis)

Сигнал уведомления:

void axisChanged()

См. также QTransform и QGraphicsRotation::angle.

origin : QVector3D

Это свойство содержит начальную точку вращения в трехмерном пространстве.

Все вращения будут выполняться относительно этой точки (т.е. эта точка будет оставаться фиксированной относительно родителя при вращении элемента).

Функции доступа:

QVector3D origin() const
void setOrigin(const QVector3D &point)

Сигнал уведомления:

void originChanged()

См. также angle.

Документация функций-членов

QGraphicsRotation::QGraphicsRotation(QObject *parent = nullptr)

Создает новый QGraphicsRotation с указанным parent.

void QGraphicsRotation::angleChanged()

Этот сигнал испускается всякий раз, когда изменяется угол.

Примечание: Сигнал уведомления для свойства angle.

См. также QGraphicsRotation::angle.

void QGraphicsRotation::axisChanged()

Этот сигнал испускается всякий раз, когда изменяется ось объекта.

Примечание: Сигнал уведомления для свойства axis.

См. также QGraphicsRotation::axis.

void QGraphicsRotation::originChanged()

Этот сигнал испускается всякий раз, когда изменяется начальная точка.

Примечание: Сигнал уведомления для свойства origin.

См. также QGraphicsRotation::origin.

QGraphicsRotation::~QGraphicsRotation()

Уничтожает вращение графики.

void QGraphicsRotation::applyTo(QMatrix4x4 *matrix) const

Переопределяет: QGraphicsTransform::applyTo(QMatrix4x4 *matrix) const.

void QGraphicsRotation::setAxis(Qt::Axis axis)

Функция для удобства установки оси на axis.

Примечание: поворот на Qt::YAxis для QTransform инвертирован по сравнению с правильным математическим поворотом в 3D пространстве. Класс QGraphicsRotation реализует правильный математический поворот. Следующие две последовательности кода выполнят одно и то же преобразование:

QTransform t;
t.rotate(45, Qt::YAxis);

QGraphicsRotation r;
r.setAxis(Qt::YAxis);
r.setAngle(-45);

Примечание: Функция-сеттер для свойства axis.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qgraphicsrotation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API