La classe QPoint définit un point dans le plan utilisant des coordonnées de précision entière. Plus d'informations...
#include <QPoint>
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.
QPoint::QPoint ()
Construit un point nul, c’est-à-dire un point de coordonnées (0, 0).
Voir aussi isNull().
QPoint::QPoint ( int x, int y )
Construit un point avec les coordonnées (x
, y
) données.
bool QPoint::isNull () const
Retourne true
si les coordonnées x et y valent toutes les deux 0, sinon retourne false.
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.
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)
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)
void QPoint::setX ( int x )
Définit la coordonnée x du point avec la coordonnée x
donnée.
void QPoint::setY ( int y )
Définit la coordonnée y du point avec la coordonnée y
donnée.
QPoint & QPoint::operator*= ( 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/=().
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-=().
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+=().
QPoint & QPoint::operator/= ( 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*=().
bool operator!= ( const QPoint & p1, const QPoint & p2 )
Retourne true
si p1
et p2
ne sont pas égaux ; sinon retourne false.
const QPoint operator* ( const QPoint & point, 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 QPoint::operator*=().
const QPoint operator* ( 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é.
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 QPoint::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 QPoint::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
.
const QPoint operator/ ( const QPoint & point, 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 QPoint::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 Format des opérateurs de QDataStream.
bool operator== ( const QPoint & p1, const QPoint & p2 )
Retourne true
si p1
et p2
sont égaux ; sinon retourne false.
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 Format des opérateurs de QDataStream.
Merci à <!abdelite!> pour la traduction et à <!johnlamericain!>, <!zamnell!> et <!hornetbzz!> pour leur relecture !