IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QPoint

La classe QPoint définit un point dans le plan utilisant des coordonnées de précision entière. Plus d'informations...

#include <QPoint>

Voir la position dans l'arbre des classes.

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 ()

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.

Voir aussi setX() et setY().

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)

Voir aussi x() et setX().

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().

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().

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().

int QPoint::x () const

Retourne la coordonnée x du point.

Voir aussi setX() et rx().

int QPoint::y () const

Retourne la coordonnée y du point.

Voir aussi setY() et ry().

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*=().

En relation mais non membres de la classe

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 sérialisation des type de données Qt.

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 sérialisation des type de données Qt.

Remerciements

Merci à Abdelhafid Hafidi pour la traduction et à Jonathan Courtois, Louis du Verdier et Philippe Beaucart pour leur relecture !

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 4.7
Copyright © 2024 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !