이 페이지에서

QGraphicsRotation Class

QGraphicsRotation 클래스는 지정된 축을 중심으로 한 회전 변환 기능을 제공합니다. 더 보기...

헤더: #include <QGraphicsRotation>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
상속: QGraphicsTransform

속성

공개 함수

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축을 중심으로 회전합니다.

QGraphicsRotation에서 제공하는 angle 속성은 이제 이 축을 중심으로 회전할 각도(도)를 나타냅니다.

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

이 속성은 3차원 공간의 벡터로 지정된 회전축을 갖습니다.

이는 3차원 공간 내의 임의의 축일 수 있습니다. 기본적으로 축은 (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)

주어진 ` parent`을 사용하여 새로운 `QGraphicsRotation` 객체를 생성합니다.

[virtual noexcept] QGraphicsRotation::~QGraphicsRotation()

그래픽 회전을 해제합니다.

[signal] void QGraphicsRotation::angleChanged()

이 신호는 각도가 변경될 때마다 발생합니다.

참고: 속성 angle 에 대한알림 신호입니다.

QGraphicsRotation::angle도 참조하십시오 .

[override virtual] void QGraphicsRotation::applyTo(QMatrix4x4 *matrix) const

QGraphicsTransform::applyTo(QMatrix4x4 *matrix) const를 재구현합니다.

[signal] void QGraphicsRotation::axisChanged()

이 신호는 객체의 축이 변경될 때마다 발생합니다.

참고: 속성 axis 에 대한알림 신호입니다.

QGraphicsRotation::axis도 참조하십시오 .

[signal] void QGraphicsRotation::originChanged()

이 신호는 원점이 변경될 때마다 발생합니다.

참고: 속성 'origin'에 대한알림 신호입니다.

QGraphicsRotation::origin도 참조하십시오 .

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

축을 axis 로 설정하는 편리한 기능입니다.

참고: ` QTransform `에 대한 ` Qt::YAxis ` 회전은 3차원 공간에서 올바른 수학적 회전과 반대 방향입니다. ` QGraphicsRotation ` 클래스는 올바른 수학적 회전을 구현합니다. 다음 두 코드 시퀀스는 동일한 변환을 수행합니다:

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

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

참고: axis 속성에 대한세터 함수.

axis()도 참조하십시오 .

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.