QGraphicsRotation Class
La classe QGraphicsRotation fournit une transformation de rotation autour d'un axe donné. Plus d'informations...
| En-tête : | #include <QGraphicsRotation> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake : | QT += widgets |
| Héritages : | QGraphicsTransform |
Propriétés
Fonctions publiques
| 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) |
Fonctions publiques réimplémentées
| virtual void | applyTo(QMatrix4x4 *matrix) const override |
Signaux
| void | angleChanged() |
| void | axisChanged() |
| void | originChanged() |
Description détaillée
Vous pouvez fournir l'axe souhaité en assignant un QVector3D à la propriété axis ou en passant un membre de Qt::Axis à la fonction de commodité setAxis. Par défaut, l'axe est (0, 0, 1), c'est-à-dire qu'il s'agit d'une rotation autour de l'axe Z.
La propriété angle, fournie par QGraphicsRotation, décrit maintenant le nombre de degrés de rotation autour de cet axe.
QGraphicsRotation fournit certains paramètres permettant de contrôler la manière dont la rotation doit être appliquée.
L'origine est le point autour duquel l'élément est tourné (c'est-à-dire qu'il reste fixe par rapport au parent lorsque le reste de l'élément est tourné). Par défaut, l'origine est QPointF(0, 0).
La propriété angle indique le nombre de degrés de rotation de l'élément dans le sens des aiguilles d'une montre autour de l'origine. Cette valeur peut également être négative, ce qui indique une rotation dans le sens inverse des aiguilles d'une montre. À des fins d'animation, il peut également être utile de fournir des angles de rotation supérieurs à (-360, 360) degrés, par exemple pour animer la façon dont un élément pivote plusieurs fois.
Remarque : la rotation finale est l'effet combiné d'une rotation dans l'espace 3D suivie d'une projection en 2D. Si plusieurs rotations sont effectuées successivement, elles ne se comporteront pas comme prévu si elles n'ont pas toutes été effectuées autour de l'axe Z.
Voir également QGraphicsTransform, QGraphicsItem::setRotation(), et QTransform::rotate().
Documentation sur les propriétés
angle : qreal
Cette propriété indique l'angle de rotation dans le sens des aiguilles d'une montre, en degrés.
L'angle peut être un nombre réel quelconque ; la valeur par défaut est 0,0. Une valeur de 180 entraîne une rotation de 180 degrés dans le sens des aiguilles d'une montre. Si vous indiquez un nombre négatif, l'élément sera tourné dans le sens inverse des aiguilles d'une montre. Normalement, l'angle de rotation se situe dans la plage (-360, 360), mais vous pouvez également fournir des nombres en dehors de cette plage (par exemple, un angle de 370 degrés donne le même résultat que 10 degrés). Un angle de 370 degrés donne le même résultat que 10 degrés). La valeur NaN n'entraîne aucune rotation.
Fonctions d'accès :
| qreal | angle() const |
| void | setAngle(qreal) |
Signal de notification :
| void | angleChanged() |
Voir aussi origine.
axis : QVector3D
Cette propriété contient un axe de rotation, spécifié par un vecteur dans l'espace 3D.
Il peut s'agir de n'importe quel axe de l'espace 3D. Par défaut, l'axe est (0, 0, 1), qui est aligné sur l'axe Z. Si vous indiquez un autre axe, QGraphicsRotation fournira une transformation qui tourne autour de cet axe. Par exemple, si vous souhaitez faire pivoter un élément autour de son axe X, vous pouvez indiquer (1, 0, 0) comme axe.
Fonctions d'accès :
| QVector3D | axis() const |
| void | setAxis(const QVector3D &axis) |
| void | setAxis(Qt::Axis axis) |
Signal de notification :
| void | axisChanged() |
Voir aussi QTransform et QGraphicsRotation::angle.
origin : QVector3D
Cette propriété définit l'origine de la rotation dans l'espace 3D.
Toutes les rotations seront effectuées par rapport à ce point (c'est-à-dire que ce point restera fixe, par rapport au parent, lorsque l'élément sera tourné).
Fonctions d'accès :
| QVector3D | origin() const |
| void | setOrigin(const QVector3D &point) |
Signal de notification :
| void | originChanged() |
Voir aussi angle.
Documentation des fonctions membres
QGraphicsRotation::QGraphicsRotation(QObject *parent = nullptr)
Construit une nouvelle QGraphicsRotation avec la donnée parent.
[virtual noexcept] QGraphicsRotation::~QGraphicsRotation()
Détruit la rotation des graphiques.
[signal] void QGraphicsRotation::angleChanged()
Ce signal est émis lorsque l'angle a changé.
Note : Signal de notification pour la propriété angle.
Voir également QGraphicsRotation::angle.
[override virtual] void QGraphicsRotation::applyTo(QMatrix4x4 *matrix) const
Réimplémente : QGraphicsTransform::applyTo(QMatrix4x4 *matrix) const.
[signal] void QGraphicsRotation::axisChanged()
Ce signal est émis lorsque l'axe de l'objet change.
Remarque : signal de notification pour la propriété axis.
Voir également QGraphicsRotation::axis.
[signal] void QGraphicsRotation::originChanged()
Ce signal est émis lorsque l'origine a changé.
Note : Signal de notification pour la propriété origin.
Voir également QGraphicsRotation::origin.
void QGraphicsRotation::setAxis(Qt::Axis axis)
Fonction pratique pour définir l'axe sur axis.
Remarque : la rotation de Qt::YAxis pour QTransform est inversée par rapport à la rotation mathématique correcte dans l'espace 3D. La classe QGraphicsRotation implémente une rotation mathématique correcte. Les deux séquences de code suivantes effectueront la même transformation :
QTransform t; t.rotate(45, Qt::YAxis); QGraphicsRotation r; r.setAxis(Qt::YAxis); r.setAngle(-45);
Note : Fonction de définition de la propriété axis.
Voir aussi 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.