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 © 2025 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 !