Spec-Zone.ru › Qt 5.6

Класс QGraphicsRotation

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

Заголовок: #include <QGraphicsRotation>
qmake: QT += widgets
С тех пор: Qt 4.6
Наследует: QGraphicsTransform
  • Список всех членов, включая унаследованные

Свойства

  • angle : qreal
  • axis : QVector3D
  • origin : QVector3D
  • 1 свойство унаследовано от QObject

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

QGraphicsRotation(QObject *parent = Q_NULLPTR)
~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
  • 1 открытая функция унаследована от QGraphicsTransform
  • 31 открытые функции унаследованы от QObject

Сигналы

void angleChanged()
void axisChanged()
void originChanged()
  • 2 сигнала унаследованы от QObject

Дополнительные унаследованные члены

  • 1 открытый слот унаследован от QObject
  • 11 статические открытые члены унаследованы от QObject
  • 9 защищённые функции унаследованы от QObject
  • 1 защищённый слот унаследован от QGraphicsTransform

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

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

Вы можете задать желаемую ось, присвоив значение типа 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

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

Это может быть любая ось в 3D-пространстве. По умолчанию ось равна (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

Это свойство содержит точку вращения в 3D-пространстве.

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

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

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

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

void originChanged()

См. также angle.

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

QGraphicsRotation::QGraphicsRotation(QObject *parent = Q_NULLPTR)

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

QGraphicsRotation::~QGraphicsRotation()

Уничтожает объект вращения.

void QGraphicsRotation::angleChanged()

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

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

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

void QGraphicsRotation::applyTo(QMatrix4x4 *matrix) const

Переопределено из QGraphicsTransform::applyTo().

[signal] void QGraphicsRotation::axisChanged()

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

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

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

[signal] void QGraphicsRotation::originChanged()

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

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

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

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/archives/qt-5.6/qgraphicsrotation.html

Spec-Zone.ru

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