Spec-Zone.ru › Qt 5.9

Класс 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
  • 32 открытые функции унаследованы от 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) градусов, например, для анимирования многократного вращения элемента.

Примечание: конечное вращение является совместным эффектом вращения в 3D-пространстве, за которым следует проекция обратно в 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/qt-5.9/qgraphicsrotation.html

Spec-Zone.ru

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