Spec-Zone.ru › Qt 5.12

Класс QGraphicsRotation

Класс QGraphicsRotation предоставляет трансформацию поворота вокруг заданной оси. Подробнее...

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

Свойства

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

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

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
  • 1 открытая функция унаследована от QGraphicsTransform
  • 31 открытых функции унаследованы от QObject

Сигналы

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

Статические открытые члены

const QMetaObject staticMetaObject
  • 9 статических открытых членов унаследованы от QObject

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

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

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

Класс QGraphicsRotation предоставляет трансформацию поворота вокруг заданной оси.

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

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

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

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

Свойство angle задаёт количество градусов поворота элемента по часовой стрелке вокруг точки origin. Это значение может быть отрицательным, что указывает на поворот против часовой стрелки. Для целей анимации может быть полезно задавать углы поворота, превышающие (-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 = nullptr)

Конструктор нового объекта QGraphicsRotation с заданным parent.

[virtual] QGraphicsRotation::~QGraphicsRotation()

Удаляет объект поворота.

[signal] void QGraphicsRotation::angleChanged()

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

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

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

[override virtual] 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.12/qgraphicsrotation.html

Spec-Zone.ru

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