QPoint Class
La classe QPoint définit un point dans le plan avec une précision entière. En savoir plus…
| En-tête : | #include <QPoint> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
- Liste de tous les membres, y compris les membres hérités
- QPoint fait partie des classes de peinture.
Remarque : toutes les fonctions de cette classe sont réentrantes.
Comparaisons de QPoint
| Catégorie | Types comparables |
|---|---|
| égalité | QPoint |
| égalité | QPointF. |
Fonctions publiques
| QPoint() | |
| QPoint(int xpos, int ypos) | |
| bool | isNull() const |
| int | manhattanLength() const |
| int & | rx() |
| int & | ry() |
| void | setX(int x) |
| void | setY(int y) |
| CGPoint | toCGPoint() const |
(since 6.4) QPointF | toPointF() const |
| QPoint | transposed() const |
| int | x() const |
| int | y() const |
| QPoint & | operator*=(double factor) |
| QPoint & | operator*=(float factor) |
| QPoint & | operator*=(int factor) |
| QPoint & | operator+=(const QPoint &point) |
| QPoint & | operator-=(const QPoint &point) |
| QPoint & | operator/=(qreal divisor) |
Membres publics statiques
| int | dotProduct(const QPoint &p1, const QPoint &p2) |
Éléments non membres associés
| bool | operator!=(const QPoint &lhs, const QPoint &rhs) |
| QPoint | operator*(const QPoint &point, double factor) |
| QPoint | operator*(const QPoint &point, float factor) |
| QPoint | operator*(const QPoint &point, int factor) |
| QPoint | operator*(double factor, const QPoint &point) |
| QPoint | operator*(float factor, const QPoint &point) |
| QPoint | operator*(int factor, const QPoint &point) |
| QPoint | operator+(const QPoint &point) |
| QPoint | operator+(const QPoint &p1, const QPoint &p2) |
| QPoint | operator-(const QPoint &p1, const QPoint &p2) |
| QPoint | operator-(const QPoint &point) |
| QPoint | operator/(const QPoint &point, qreal divisor) |
| QDataStream & | operator<<(QDataStream &stream, const QPoint &point) |
| bool | operator==(const QPoint &lhs, const QPoint &rhs) |
| QDataStream & | operator>>(QDataStream &stream, QPoint &point) |
Description détaillée
Un point est spécifié par une coordonnée x et une coordonnée y, auxquelles on peut accéder à l’aide des fonctions x() et y(). La fonction isNull() renvoie true si x et y sont tous deux définis à 0. Les coordonnées peuvent être définies (ou modifiées) à l’aide des fonctions setX() et setY(), ou encore à l’aide des fonctions rx() et ry(), qui renvoient des références aux coordonnées (permettant ainsi une manipulation directe).
Pour un point p donné, les instructions suivantes sont toutes équivalentes :
Un objet `QPoint` peut également être utilisé comme un vecteur : l’addition et la soustraction sont définies comme pour les vecteurs (chaque composante est additionnée séparément). Un objet `QPoint` peut également être divisé ou multiplié par un ` int ` ou un ` qreal`.
De plus, la classe QPoint fournit la fonction ` manhattanLength()`, qui donne une approximation peu coûteuse de la longueur de l’objet QPoint interprété comme un vecteur. Enfin, les objets QPoint peuvent être transmis en flux ainsi que comparés.
Voir également QPointF et QPolygon.
Documentation des fonctions membres
[constexpr noexcept] QPoint::QPoint()
Crée un point nul, c'est-à-dire dont les coordonnées sont (0, 0)
Voir aussi isNull().
[constexpr noexcept] QPoint::QPoint(int xpos, int ypos)
Crée un point aux coordonnées indiquées (xpos, ypos).
Voir également setX() et setY().
[static constexpr] int QPoint::dotProduct(const QPoint &p1, const QPoint &p2)
QPoint p( 3, 7);
QPoint q(-1, 4);
int dotProduct = QPoint::dotProduct(p, q); // dotProduct becomes 25Renvoie le produit scalaire de p1 et p2.
[constexpr noexcept] bool QPoint::isNull() const
Renvoie « true » si les coordonnées x et y sont toutes deux égales à 0 ; sinon, renvoie « false ».
[constexpr] int QPoint::manhattanLength() const
Renvoie la somme des valeurs absolues de x() et y(), communément appelée « longueur de Manhattan » du vecteur reliant l'origine au point. Par exemple :
QPoint oldPosition;
void MyWidget::mouseMoveEvent(QMouseEvent *event)
{
QPoint point = event->pos() - oldPosition;
if (point.manhattanLength() > 3){
// the mouse has moved more than 3 pixels since the oldPosition
}
}Il s'agit d'une approximation utile et rapide à calculer de la longueur réelle :
double trueLength = std::sqrt(std::pow(x(), 2) + std::pow(y(), 2));La tradition de la « longueur de Manhattan » trouve son origine dans le fait que ces distances s'appliquent aux voyageurs qui ne peuvent se déplacer que sur une grille rectangulaire, à l'image des rues de Manhattan.
[constexpr noexcept] int &QPoint::rx()
Renvoie une référence à la coordonnée x de ce point.
L'utilisation d'une référence permet de manipuler directement x. Par exemple :
QPoint p(1, 2);
p.rx()--; // p becomes (0, 2)[constexpr noexcept] int &QPoint::ry()
Renvoie une référence à la coordonnée y de ce point.
L'utilisation d'une référence permet de manipuler directement la valeur y. Par exemple :
QPoint p(1, 2);
p.ry()++; // p becomes (1, 3)[constexpr noexcept] void QPoint::setX(int x)
Définit la coordonnée x de ce point sur la coordonnée x fournie.
[constexpr noexcept] void QPoint::setY(int y)
Définit la coordonnée y de ce point sur la coordonnée y fournie.
[noexcept] CGPoint QPoint::toCGPoint() const
Crée un objet `CGPoint` à partir d'un objet ` QPoint`.
Voir aussi QPointF::fromCGPoint().
[constexpr noexcept, since 6.4] QPointF QPoint::toPointF() const
Renvoie ce point sous la forme d'un point à précision flottante.
Cette fonction a été introduite dans Qt 6.4.
Voir aussi QPointF::toPoint().
[constexpr noexcept] QPoint QPoint::transposed() const
Renvoie un point dont les coordonnées x et y sont inversées :
QPoint{1, 2}.transposed() // {2, 1}Voir également x(), y(), setX() et setY().
[constexpr noexcept] int QPoint::x() const
Renvoie la coordonnée x de ce point.
Voir également setX() et rx().
[constexpr noexcept] int QPoint::y() const
Renvoie la coordonnée y de ce point.
[constexpr] QPoint &QPoint::operator*=(double factor)
Multiplie les coordonnées de ce point par l'factor e spécifiée et renvoie une référence à ce point. Par exemple :
QPoint p(-1, 4);
p *= 2.5; // p becomes (-3, 10)Notez que le résultat est arrondi à l'entier le plus proche, car les points sont représentés sous forme d'entiers. Utilisez ` QPointF ` pour obtenir une précision en virgule flottante.
Voir également operator/=().
[constexpr] QPoint &QPoint::operator*=(float factor)
Multiplie les coordonnées de ce point par l'factor e spécifiée et renvoie une référence à ce point.
Notez que le résultat est arrondi à l'entier le plus proche, car les points sont stockés sous forme d'entiers. Utilisez ` QPointF ` pour obtenir une précision en virgule flottante.
Voir également la fonction ` operator/=()`.
[constexpr] QPoint &QPoint::operator*=(int factor)
Multiplie les coordonnées de ce point par l'factor e spécifiée et renvoie une référence à ce point.
Voir aussi operator/=().
[constexpr] QPoint &QPoint::operator+=(const QPoint &point)
Ajoute l'point on indiquée à ce point et renvoie une référence à ce point. Par exemple :
Voir aussi operator-=().
[constexpr] QPoint &QPoint::operator-=(const QPoint &point)
Soustrait l'point on indiquée de ce point et renvoie une référence à ce point. Par exemple :
Voir aussi ` operator+=()`.
[constexpr] QPoint &QPoint::operator/=(qreal divisor)
Divise à la fois x et y par l'divisor donnée, puis renvoie une référence à ce point. Par exemple :
QPoint p(-3, 10);
p /= 2.5; // p becomes (-1, 4)Notez que le résultat est arrondi à l'entier le plus proche, car les points sont stockés sous forme d'entiers. Utilisez ` QPointF ` pour obtenir une précision en virgule flottante.
Voir également operator*=().
Éléments non membres associés
[constexpr noexcept] bool operator!=(const QPoint &lhs, const QPoint &rhs)
Renvoie « true » si « lhs » et « rhs » ne sont pas égaux ; sinon, renvoie « false ».
[constexpr] QPoint operator*(const QPoint &point, double factor)
Renvoie une copie de l'point donnée multipliée par l'factor donnée.
Notez que le résultat est arrondi à l'entier le plus proche, car les points sont représentés sous forme d’entiers. Utilisez QPointF pour obtenir une précision en virgule flottante.
Voir également QPoint::operator*=().
[constexpr] QPoint operator*(const QPoint &point, float factor)
Renvoie une copie de l'point donné, multipliée par l'factor donné.
Notez que le résultat est arrondi à l'entier le plus proche, car les points sont représentés sous forme d'entiers. Utilisez QPointF pour obtenir une précision en virgule flottante.
Voir également QPoint::operator*=().
[constexpr noexcept] QPoint operator*(const QPoint &point, int factor)
Renvoie une copie de l'point donné, multipliée par l'factor donné.
Voir aussi QPoint::operator*=().
[constexpr] QPoint operator*(double factor, const QPoint &point)
Renvoie une copie de l'point donné, multipliée par l'factor donné.
Notez que le résultat est arrondi à l'entier le plus proche, car les points sont représentés sous forme d'entiers. Utilisez QPointF pour obtenir une précision en virgule flottante.
Il s'agit d'une fonction surchargée.
Voir également QPoint::operator*=().
[constexpr] QPoint operator*(float factor, const QPoint &point)
Renvoie une copie de l'point donné multipliée par l'factor donné.
Notez que le résultat est arrondi à l'entier le plus proche, car les points sont représentés sous forme d'entiers. Utilisez QPointF pour obtenir une précision en virgule flottante.
Il s'agit d'une fonction surchargée.
Voir également QPoint::operator*=().
[constexpr noexcept] QPoint operator*(int factor, const QPoint &point)
Renvoie une copie de l'point donné, multipliée par l'factor donné.
Il s'agit d'une fonction surchargée.
Voir également QPoint::operator*=().
[constexpr noexcept] QPoint operator+(const QPoint &point)
Renvoie la valeur « point » sans la modifier.
[constexpr noexcept] QPoint operator+(const QPoint &p1, const QPoint &p2)
Renvoie un objet de type « QPoint » correspondant à la somme des points indiqués : p1 et p2; chaque composante est additionnée séparément.
Voir aussi QPoint::operator+=().
[constexpr noexcept] QPoint operator-(const QPoint &p1, const QPoint &p2)
Renvoie un objet ` QPoint ` obtenu en soustrayant ` p2 ` de ` p1` ; chaque composante est soustraite séparément.
Voir également QPoint::operator-=().
[constexpr noexcept] QPoint operator-(const QPoint &point)
Renvoie un objet de type ` QPoint ` obtenu en inversant le signe des deux composantes de l'point donné.
Équivalent à ` QPoint(0,0) - point`.
Il s'agit d'une fonction surchargée.
[constexpr] QPoint operator/(const QPoint &point, qreal divisor)
Renvoie l'QPoint e obtenu en divisant les deux composantes de l'point donnée par l'divisor donnée.
Notez que le résultat est arrondi à l'entier le plus proche, car les points sont représentés sous forme d'entiers. Utilisez QPointF pour obtenir une précision en virgule flottante.
Voir également QPoint::operator/=().
QDataStream &operator<<(QDataStream &stream, const QPoint &point)
Écrit l'point on fournie dans le stream on indiquée et renvoie une référence au flux.
Voir également Sérialisation des types de données Qt.
[constexpr noexcept] bool operator==(const QPoint &lhs, const QPoint &rhs)
Renvoie « true » si « lhs » et « rhs » sont égaux ; sinon, renvoie « false ».
QDataStream &operator>>(QDataStream &stream, QPoint &point)
Lit un point à partir du fichier stream dans le fichier point et renvoie une référence au flux.
Voir également Sérialisation des types de données Qt.
© 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.