===== QPoint =====
La classe QPoint définit un point dans le plan utilisant des coordonnées de précision entière. [[#Description détaillée|Plus d'informations...]]
==== Description détaillée ====
La classe QPoint définit un point dans le plan utilisant des coordonnées de précision entière.
Un point possède une coordonnée x et une coordonnée y qui peuvent être récupérées en utilisant les fonctions [[#x()]] et [[#y()]]. La fonction [[#isNull()]] retourne ''true'' si à la fois x et y valent 0. Les coordonnées peuvent être définies (ou modifiées) en utilisant les fonctions [[#setX()]] et [[#setY()]], ou alternativement par les fonctions [[#rx()]] et [[#ry()]] qui retournent des références vers les coordonnées (permettant des manipulations directes).
Soit un point //p// donné. Les déclarations qui suivent sont toutes équivalentes :
QPoint p;
p.setX(p.x() + 1);
p += QPoint(1, 0);
p.rx()++;
Un objet QPoint peut également être utilisé comme un vecteur : les additions et les soustractions sont définies comme des vecteurs (chaque composante est ajoutée séparément). Un objet QPoint peut également être multiplié ou divisé par un ''int'' ou un ''qreal''.
De plus, la classe QPoint fournit la fonction [[#manhattanLength()]] qui donne une approximation peu coûteuse de la taille d'un objet de QPoint, interprétée en tant que vecteur. Enfin, les objets QPoint peuvent : soit être insérés dans un flux, soit être comparés entre eux.
Voir aussi [[QPointF]] et [[QPolygon]].
==== Fonctions membres ====
=== QPoint() ===
''QPoint::QPoint ()''
Construit un point nul, c'est-à-dire un point de coordonnées (0, 0).
Voir aussi [[#isNull()]].
=== QPoint() ===
''QPoint::QPoint ( int x, int y )''
Construit un point avec les coordonnées (''x'', ''y'') données.
Voir aussi [[#setX()]] et [[#setY()]].
=== isNull() ===
''bool QPoint::isNull () const''
Retourne ''true'' si les coordonnées x et y valent toutes les deux 0, sinon retourne false.
=== manhattanLength() ===
''int QPoint::manhattanLength () const''
Retourne la somme des valeurs absolues de [[#x()]] et de [[#y()]], traditionnellement connue en tant que la "longueur de Manhattan" du vecteur, de l'origine jusqu'au point. Par exemple :
QPoint oldPosition;
MyWidget::mouseMoveEvent(QMouseEvent *event)
{
QPoint point = event->pos() - oldPosition;
if (point.manhattanLength() > 3)
// la souris a été déplacé de plus de 3 pixels depuis oldPosition
}
Il s'agit d'une approximation utile et rapide à calculer, contrairement à la longueur réelle :
double trueLength = sqrt(pow(x(), 2) + pow(y(), 2));
La tradition de "la longueur de Manhattan" est apparue parce que de telles distances s'appliquent aux voyageurs pouvant uniquement voyager sur une grille rectangulaire, comme les rues de Manhattan.
=== rx() ===
''int & QPoint::rx ()''
Retourne une référence vers la coordonnée x du point.
L'utilisation d'une référence permet de manipuler x directement. Par exemple :
QPoint p(1, 2);
p.rx()--; // p prend la valeur (0, 2)
Voir aussi [[#x()]] et [[#setX()]].
=== ry() ===
''int & QPoint::ry ()''
Retourne une référence vers la coordonnée y du point.
L'utilisation d'une référence permet de manipuler y directement. Par exemple :
QPoint p(1, 2);
p.ry()++; // p prend la valeur (1, 3)
Voir aussi [[#y()]] et [[#setY()]].
=== setX() ===
''void QPoint::setX ( int x )''
Définit la coordonnée x du point avec la coordonnée ''x'' donnée.
Voir aussi [[#x()]] et [[#setY()]].
=== setY() ===
''void QPoint::setY ( int y )''
Définit la coordonnée y du point avec la coordonnée ''y'' donnée.
Voir aussi [[#y()]] et [[#setX()]].
=== x() ===
''int QPoint::x () const''
Retourne la coordonnée x du point.
Voir aussi [[#setX()]] et [[#rx()]].
=== y() ===
''int QPoint::y () const''
Retourne la coordonnée y du point.
Voir aussi [[#setY()]] et [[#ry()]].
=== operator*=() ===
''QPoint & QPoint::operator*= ( [[qtglobal#qreal-typedef|qreal]] factor )''
Multiplie les coordonnées du point avec le facteur ''factor'' donné, et retourne une référence vers ce point. Par exemple :
QPoint p(-1, 4);
p *= 2.5; // p prend la valeur (-3, 10)
Notez que le résultat est arrondi à l'entier le plus proche puisque les points sont des entiers. Utilisez [[QPointF]] pour une précision décimale.
Voir aussi [[#operator/=()]].
=== operator+=() ===
''QPoint & QPoint::operator+= ( const QPoint & point )''
Ajoute le ''point'' donné au point instancié et retourne une référence vers ce point. Par exemple :
QPoint p( 3, 7);
QPoint q(-1, 4);
p += q; // p prend la valeur (2, 11)
Voir aussi [[#operator-=()]].
=== operator-=() ===
''QPoint & QPoint::operator-= ( const QPoint & point )''
Soustrait le ''point'' donné au point instancié et retourne une référence vers ce point. Par exemple :
QPoint p( 3, 7);
QPoint q(-1, 4);
p -= q; // p prend la valeur (4, 3)
Voir aussi [[#operator+=()]].
=== operator/=() ===
''QPoint & QPoint::operator/= ( [[qtglobal#qreal-typedef|qreal]] divisor )''
Il s'agit d'une fonction surchargée.
Divise x et y par le diviseur ''divisor'' donné, et retourne une référence vers ce point. Par exemple :
QPoint p(-3, 10);
p /= 2.5; // p prend la valeur (-1, 4)
Notez que le résultat est arrondi à l'entier le plus proche puisque les points sont des entiers. Utilisez [[QPointF]] pour une précision décimale.
Voir aussi [[#operator*=()]].
==== En relation mais non membres de la classe ====
=== operator!=() ===
''bool operator!= ( const QPoint & p1, const QPoint & p2 )''
Retourne ''true'' si ''p1'' et ''p2'' ne sont pas égaux ; sinon retourne false.
=== operator*() ===
''const QPoint operator* ( const QPoint & point, [[qtglobal#qreal-typedef|qreal]] factor )''
Retourne une copie du ''point'' donné, multipliée par le facteur ''factor'' donné.
Notez que le résultat est arrondi à l'entier le plus proche puisque les points sont des entiers. Utilisez [[QPointF]] pour une précision décimale.
Voir aussi [[#operator*=|QPoint::operator*=()]].
=== operator*() ===
''const QPoint operator* ( [[qtglobal#qreal-typedef|qreal]] factor, const QPoint & point )''
Il s'agit d'une fonction surchargée.
Retourne une copie du point ''point'' donné, multipliée par le facteur ''factor'' donné.
=== operator+() ===
''const QPoint operator+ ( const QPoint & p1, const QPoint & p2 )''
Retourne un objet de QPoint qui correspond à la somme des points fournis, ''p1'' et ''p2'' ; chaque composante est ajoutée séparément.
Voir aussi [[#operator+=|QPoint::operator+=()]].
=== operator-() ===
''const QPoint operator- ( const QPoint & p1, const QPoint & p2 )''
Retourne un objet QPoint qui est le résultat de la soustraction de ''p2'' par ''p1'' ; chaque composante est ajoutée séparément.
Voir aussi [[#operator-=|QPoint::operator-=()]].
=== operator-() ===
''const QPoint operator- ( const QPoint & point )''
Il s'agit d'une fonction surchargée.
Retourne un objet de QPoint qui est formé par le changement de signe des deux composantes du ''point'' donné.
Équivalent à ''QPoint(0,0) - point''.
=== operator/() ===
''const QPoint operator/ ( const QPoint & point, [[qtglobal#qreal-typedef|qreal]] divisor )''
Retourne le QPoint formé par la division des deux composantes du ''point'' par le diviseur ''divisor'' donné.
Notez que le résultat est arrondi à l'entier le plus proche puisque les points sont des entiers. Utilisez [[QPointF]] pour une précision décimale.
Voir aussi [[#operator/=|QPoint::operator/=()]].
=== operator<<() ===
''[[QDataStream]] & operator<< ( [[QDataStream]] & stream, const QPoint & point )''
Écrit le ''point'' donné dans le flux ''stream'' donné et retourne une référence vers ce flux.
Voir aussi [[datastreamformat|Format des opérateurs de QDataStream]].
=== operator==() ===
''bool operator== ( const QPoint & p1, const QPoint & p2 )''
Retourne ''true'' si ''p1'' et ''p2'' sont égaux ; sinon retourne false.
=== operator>>() ===
''[[QDataStream]] & operator>> ( [[QDataStream ]]& stream, QPoint & point )''
Lit un point depuis le flux ''stream'' vers le point donné ''point'' et retourne une référence vers ce flux.
Voir aussi [[datastreamformat|Format des opérateurs de QDataStream]].
==== Remerciements ====
Merci à pour la traduction et à , et pour leur relecture !