Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
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 !

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 64
  2. Apercevoir la troisième dimension ou l'utilisation multithreadée d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. BlackBerry 10 : premières images du prochain OS de RIM qui devrait intégrer des widgets et des tuiles inspirées de Windows Phone 0
  5. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. La rubrique Qt a besoin de vous ! 1
Page suivante

Le blog Digia au hasard

Logo

Créer des applications avec un style Metro avec Qt, exemples en QML et C++, un article de Digia Qt traduit par Thibaut Cuvelier

Le blog Digia est l'endroit privilégié pour la communication sur l'édition commerciale de Qt, où des réponses publiques sont apportées aux questions les plus posées au support. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

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 © 2012 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 !
 
 
 
 
Partenaires

Hébergement Web