Spec-Zone.ru › Qt 6.0

Класс QGraphicsRotation

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

Заголовок: #include <QGraphicsRotation>
CMake: find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Наследует: QGraphicsTransform
  • Список всех членов, включая унаследованные

Свойства

  • 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) градусов, например, чтобы анимировать, как элемент поворачивается несколько раз.

Примечание: конечный поворот — это комбинированный эффект поворота в 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.

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-6.0/qgraphicsrotation.html

Spec-Zone.ru

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