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  · 

QRectF

La classe QRectF définit un rectangle dans le plan en utilisant une précision décimale. Plus d'informations...

#include <QRectF>

Voir la position dans l'arbre des classes.

Description détaillée

La classe QRectF définit un rectangle dans le plan en utilisant une précision décimale.

Un rectangle est normalement défini par son coin supérieur gauche et sa taille. La taille (hauteur et largeur) d'un QRectF est toujours équivalente au rectangle mathématique qui sert de base pour son rendu.

Un QRectF peut-être construit avec un ensemble d'entiers désignant l'abscisse, l'ordonnée, la largeur et la hauteur ou bien avec un QPoint et un QSize. Le code suivant crée deux rectangles identiques.

QRectF r1(100, 200, 11, 16);
QRectF r2(QPoint(100, 200), QSize(11, 16));

Il y a également un troisième constructeur qui crée un QRectF à partir d'un QRect et une fonction correspondante, toRect(), qui retourne un QRect basé sur les valeurs du rectangle. (Notez que les valeurs de ce rectangle sont arrondies à l'entier le plus proche).

La classe QRectF propose une collection de fonctions qui retournent les différentes coordonnées du rectangle et permettent la manipulation de celles-ci. QRectF propose également des fonctions pour déplacer le rectangle par rapport à ces différentes coordonnées. En outre, il existe une fonction moveTo() qui déplace le rectangle de façon à ce que son coin supérieur gauche ait les coordonnées données. D'autre part, la fonction translate() déplace le rectangle suivant le décalage donné par rapport à sa position actuelle et la fonction translated() retourne une copie translatée de ce rectangle.

La fonction size() retourne les dimensions du rectangle dans une QSize. Les dimensions peuvent également être récupérées séparément en utilisant les fonctions width() et height(). Pour manipuler les dimensions, utilisez les fonctions setSize(), setWidth() ou setHeight(). D'autre part, la taille peut-être modifiée en utilisant l'une des fonctions permettant de changer les coordonnées du rectangle, comme par exemple setBottom() ou setRight().

La fonction contains() indique si le point donné est à l'intérieur du rectangle ou pas et la fonction intersects() retourne true si le rectangle possède une intersection avec un rectangle donné. La classe QRectF possède également la fonction intersected() qui retourne le rectangle d'intersection et la fonction united() qui retourne le rectangle qui englobe ce rectangle et celui passé en argument :

image image
intersected() united()

La fonction isEmpty() retourne true si la hauteur ou la largeur du rectangle est inférieure ou égale à 0. Notez qu'un rectangle vide n'est pas valide : la fonction isValid() retourne true si à la fois la largeur et la hauteur du rectangle sont supérieures à 0. D'autre part, un rectangle ‹Null› (isNull() == true) a une largeur et une hauteur nulles.

Notez que du fait de la façon dont sont définies les classes QRect et QRectF, un QRectF vide est défini essentiellement de la même manière qu'un QRect

Finalement, les objets QRectF peuvent être mis sous la forme de flux et comparés.

Rendu

Quand vous utilisez un peintre avec anti-crénelage, le contour d'un QRectF sera dessiné symétriquement des deux côtés du contour du rectangle mathématique. Cependant, quand vous utilisez un peintre avec crénelage (par défaut), le dessin ne s'effectue pas de la même manière.

Dans ce cas, quand vous utilisez un pinceau d'un pixel de largeur, le contour du QRectF sera dessiné à droite et en dessous du contour du rectangle mathématique.

Quand vous utilisez un pinceau de deux pixels de largeur, le contour sera divisé en son milieu par le rectangle mathématique. Ce sera le cas à chaque fois que la largeur du pinceau aura un nombre pair de pixel. Quand le nombre de pixels du pinceau est impair, en revanche, le pixel supplémentaire sera dessiné à droite et en dessous du rectangle mathématique comme dans le cas d'un pinceau d'un pixel.

image image
Représentation logique (rectangle mathématique) Pinceau d'un pixel de large
image image
Pinceau de deux pixels de large Pinceau de trois pixels de large

Coordonnées

La classe QRectF propose une collection de fonctions qui retournent les différentes coordonnées du rectangle et permettent la manipulation de celles-ci. QRectF propose également des fonctions pour déplacer le rectangle par rapport à ces différentes coordonnées.

Prenons pour exemple les fonctions bottom(), setBottom() et moveBottom() : bottom() retourne l'ordonnée de l'arête inférieure du rectangle, setBottom() définit l'ordonnée de l'arête inférieure du rectangle à l'ordonnée y donnée (ce qui peut changer la hauteur mais jamais l'arête supérieure du rectangle) et moveBottom() déplace verticalement le rectangle entier, de façon à ce que son arête inférieure ait l'ordonnée y donnée et que sa taille reste inchangée.

image

Il est également possible d'ajuster les coordonnées du rectangle en utilisant la fonction adjust(), ainsi que de récupérer un nouveau rectangle basé sur les ajustements du rectangle original en utilisant la fonction adjusted(). Si la hauteur ou la largeur est négative, utilisez la fonction normalized() pour récupérer un rectangle dont les coins ont été échangés.

En outre, la classe QRectF propose la fonction getCoords(), qui extrait la position des coins supérieur gauche et inférieur droit du rectangle et la fonction getRect(), qui extrait la position du coin supérieur gauche du rectangle, ainsi que sa largeur et sa hauteur. Utilisez les fonctions setCoords() et setRect() pour manipuler toutes les coordonnées et dimensions du rectangle en une seule fois.

Voir aussi QRect et QRegion.

Fonctions membres

QRectF::QRectF ()

Construit un rectangle vide.

Voir aussi isNull().

QRectF::QRectF ( const QPointf & topLeft, const QSizef & size )

Construit un rectangle avec le coin topLeft et la taille size donnés.

Voir aussi setTopLeft() et setSize().

QRectF::QRectF ( const Qpointf & topLeft, const Qpointf & bottomRight )

Construit un rectangle avec les coins topLeft et bottomRight donnés.

Cette fonction a été introduite dans Qt 4.3.

Voir aussi setTopLeft() et setBottomRight().

QRectF::QRectF ( qreal]]|[[qtglobal::qreal|qreal]] x, qreal y, qreal width, qreal height )

Construit un rectangle avec le coin supérieur gauche de coordonnées (x, y), de largeur width et de hauteur height.

Voir aussi setRect().

QRectF::QRectF ( const QRect & rectangle )

Construit un rectangle QRectF à partir du rectangle QRect donné.

Voir aussi toRect().

void QRectF::adjust ( qreal dx1, qreal dy1, qreal dx2, qreal dy2 )

Ajoute respectivement dx1, dy1, dx2 et dy2 aux coordonnées existantes du rectangle.

Voir aussi adjusted() et setRect().

QRectF QRectF::adjusted ( qreal dx1, qreal dy1, qreal dx2, qreal dy2 ) const

Retourne un nouveau rectangle avec dx1, dy1, dx2 et dy2 ajoutés respectivement aux coordonnées existantes du rectangle.

Voir aussi adjust().

qreal QRectF::bottom () const

Retourne l'ordonnée de l'arête inférieure.

Voir aussi setBottom(), bottomLeft() et bottomRight().

Qpointf QRectF::bottomLeft () const

Retourne la positon du coin inférieur gauche du rectangle.

Voir aussi [[setBottomLeft()]], bottom() et left().

Qpointf QRectF::bottomRight () const

Retourne la position du coin inférieur droit du rectangle.

Voir aussi setBottomRight(), bottom() et right().

Qpointf QRectF::center () const

Retourne le centre du rectangle.

Voir aussi moveCenter().

bool QRectF::contains ( const Qpointf & point ) const

Retourne true si le point donné est à l'intérieur ou sur une arête du rectangle, sinon retourne false.

Voir aussi intersects().

bool QRectF::contains ( qreal x, qreal y ) const

Il s'agit d'une fonction surchargée.

Retourne true si le point (x, y) est à l'intérieur ou sur une arête du rectangle, sinon retourne false.

bool QRectF::contains ( const QRectF & rectangle ) const

Il s'agit d'une fonction surchargée.

Retourne true si le rectangle donné est à l'intérieur du rectangle, sinon retourne false.

void QRectF::getCoords ( qreal * x1, qreal * y1, qreal * x2, qreal * y2 ) const

Extrait la position du coin supérieur gauche du rectangle vers *x1 et *y1 et la position du coin inférieur droit vers *x2 et*y2.

Voir aussi setCoords() et getRect().

void QRectF::getRect ( qreal * x, qreal * y, qreal * width, qreal * height ) const

Extrait la position du coin supérieur gauche du rectangle vers *x et *y et ses dimensions vers *width (la largeur) et *height (la hauteur).

Voir aussi setRect() et getCoords().

qreal QRectF::height () const

Retourne la hauteur du rectangle.

Voir aussi setHeight(), width() et size().

QRectF QRectF::intersected ( const QRectF & rectangle ) const

Retourne l'intersection du rectangle avec le rectangle donné. Notez que r.intersected(s) est équivalent à r & s.

image

Cette fonction a été introduite dans Qt 4.2.

Voir aussi intersects(), united() et operator&=().

bool QRectF::intersects ( const QRectF & rectangle ) const

Retourne true si le rectangle intersecte le rectangle donné (c'est-à-dire s'il y a une région non vide qui chevauche les deux rectangles à la fois), sinon retourne false.

Le rectangle correspondant à cette intersection peut-être récupéré avec la fonction intersected().

Voir aussi contains().

bool QRectF::isEmpty () const

Retourne true si le rectangle est vide, sinon retourne false.

Un rectangle vide a width() <= 0 ou height() <= 0. Un rectangle vide n'est pas valide (c'est à dire que isEmpty() == !isValid()).

Utilisez la fonction normalized() pour récupérer un rectangle où les coins sont échangés.

Voir aussi isNull(), isValid() et normalized().

bool QRectF::isNull () const

Retourne true si le rectangle est un rectangle Null, sinon retourne false.

Un rectangle Null est un rectangle dont à la fois la hauteur et la largeur sont nulles. Un rectangle Null est également vide et, de fait, n'est pas valide.

Voir aussi isEmpty() et isValid().

bool QRectF::isValid () const

Retourne true si le rectangle est valide, sinon retourne false.

Un rectangle valide est tel que width() > 0 et height() > 0. Notez que les opérations complexes comme les intersections ne sont pas définies pour les rectangles non valides. Un rectangle valide n'est pas vide (c'est à dire que isValid() == !isEmpty()).

Voir aussi isNull(), isEmpty() et normalized().

qreal QRectF::left () const

Retourne l'abscisse de l'arête gauche du rectangle. Équivalent à x().

Voir aussi setLeft(), topLeft() et bottomLeft().

void QRectF::moveBottom ( qreal y )

Déplace le rectangle verticalement de façon à ce que l'arête inférieure du rectangle ait l'ordonnée y donnée. La taille du rectangle reste inchangée.

Voir aussi bottom(), setBottom() et moveTop().

void QRectF::moveBottomLeft ( const Qpointf & position )

Déplace le rectangle de façon à ce que son coin inférieur gauche soit à la position donnée. La taille du rectangle reste inchangée.

Voir aussi setBottomLeft(), moveBottom() et moveLeft().

void QRectF::moveBottomRight ( const Qpointf & position )

Déplace le rectangle de façon à ce que son coin inférieur droit soit à la position donnée. La taille du rectangle reste inchangée.

Voir aussi setBottomRight(), moveRight() et moveBottom().

void QRectF::moveCenter ( const Qpointf & position )

Déplace le rectangle de façon à ce que son centre soit à la position donnée. La taille du rectangle reste inchangée.

Voir aussi center().

void QRectF::moveLeft ( qreal x )

Déplace le rectangle horizontalement de façon à ce que l'arête gauche du rectangle ait l'abscisse x donnée. La taille du rectangle reste inchangée.

Voir aussi left(), setLeft() et moveRight().

void QRectF::moveRight ( qreal x )

Déplace le rectangle horizontalement de façon à ce que l'arête droite du rectangle ait l'abscisse x donnée. La taille du rectangle reste inchangée.

Voir aussi right(), setRight() et moveLeft().

void QRectF::moveTo ( qreal x, qreal y )

Déplace le rectangle de façon à ce que son coin supérieur gauche soit à la position (x,y) donnée. La taille du rectangle reste inchangée.

Voir aussi translate() et moveTopLeft().

void QRectF::moveTo ( const Qpointf & position )

Il s'agit d'une fonction surchargée.

Déplace le rectangle de façon à ce que son coin supérieur gauche soit à la position donnée.

void QRectF::moveTop ( qreal y )

Déplace le rectangle verticalement de façon à ce que l'arête supérieure du rectangle ait l'ordonnée y donnée. La taille du rectangle reste inchangée.

Voir aussi top(), setTop() et moveBottom().

void QRectF::moveTopLeft ( const Qpointf & position )

Déplace le rectangle de façon à ce que son coin supérieur gauche soit à la position donnée. La taille du rectangle reste inchangée.

Voir aussi setTopLeft(), moveTop() et moveLeft().

void QRectF::moveTopRight ( const Qpointf & position )

Déplace le rectangle de façon à ce que son coin supérieur droit soit à la position donnée. La taille du rectangle reste inchangée.

Voir aussi setTopRight(), moveTop() et moveRight().

QRectF QRectF::normalized () const

Retourne un rectangle normalisé, c'est-à-dire un rectangle qui a une hauteur et une largeur non nulles.

Si width() < 0 la fonction échange les coins droits et gauches, et elle échange les coins supérieurs et inférieurs si height() < 0.

Voir aussi isValid() et isEmpty().

Retourne l'abscisse de l'arête droite du rectangle.

Voir aussi setRight(), topRight() et bottomRight().

void QRectF::setBottom ( qreal y )

Définit l'ordonnée de l'arête inférieure du rectangle à l'ordonnée y donnée. Ceci peut changer la hauteur mais jamais l'arête supérieure du rectangle.

Voir aussi bottom() et moveBottom().

void QRectF::setBottomLeft ( const Qpointf & position )

Définit la position du coin inférieur gauche du rectangle à la position donnée. Ceci peut changer la taille mais jamais le coin supérieur droit du rectangle.

Voir aussi bottomLeft() and moveBottomLeft().

void QRectF::setBottomRight ( const Qpointf & position )

Définit la position du coin inférieur droit du rectangle à la position donnée. Ceci peut changer la taille mais jamais le coin supérieur gauche du rectangle.

Voir aussi bottomRight() et moveBottomRight().

void QRectF::setCoords ( qreal x1, qreal y1, qreal x2, qreal y2 )

Définit les coordonnées du coin supérieur gauche du rectangle à (x1,y1) et les coordonnées de son coin inférieur droit à (x2,y2).

Voir aussi getCoords() et setRect().

void QRectF::setHeight ( qreal height )

Définit la hauteur du rectangle à la height donnée. L'arête inférieure est déplacée mais l'arête supérieure reste inchangée.

Voir aussi height() et setSize().

void QRectF::setLeft ( qreal x )

Définit l'abscisse de l'arête gauche du rectangle à l'abscisse x donnée. Ceci peut changer la taille mais jamais l'arête droite du rectangle.

Équivalent à setX().

Voir aussi left() and moveLeft().

void QRectF::setRect ( qreal x, qreal y, qreal width, qreal height )

Définit les coordonnées du coin supérieur gauche du rectangle à (x, y), sa largeur à la width donnée et sa hauteur à la height donnée.

Voir aussi getRect() et setCoords().

void QRectF::setRight ( qreal x )

Définit l'abscisse de l'arête droite du rectangle à l'abscisse x donnée. Ceci peut changer la largeur mais jamais l'arête gauche du rectangle.

Voir aussi right() et moveRight().

void QRectF::setSize ( const QSizef & size )

Définit la taille du rectangle à la size donnée. Le coin supérieur gauche n'est pas déplacé.

Voir aussi size(), setWidth() et setHeight().

void QRectF::setTop ( qreal y )

Définit l'ordonnée de l'arête supérieure du rectangle à l'ordonnée y donnée. Ceci peut changer la hauteur mais jamais l'arête inférieure du rectangle.

Équivalent à setY().

Voir aussi top() et moveTop().

void QRectF::setTopLeft ( const QPointF & position )

Définit le coin supérieur gauche du rectangle à la position donnée. Cela peut changer la taille mais cela ne changera jamais la position du coin inférieur droit du rectangle.

Voir aussi topLeft() et moveTopLeft().

void QRectF::setTopRight ( const QPointF & position )

Définit le coin supérieur droit du rectangle à la position donnée. Cela peut changer la taille mais cela ne changera jamais la position du coin inférieur gauche du rectangle.

Voir aussi topRight() et moveTopRight().

void QRectF::setWidth ( qreal width )

Définit la largeur du rectangle à la width donnée. L'arête de droite est déplacée mais l'arête de gauche reste inchangée.

Voir aussi width() et setSize().

void QRectF::setX ( qreal x )

Définit l'abscisse de l'arête gauche du rectangle à l'abscisse x donnée. Ceci peut changer la taille mais jamais l'arête droite du rectangle.

Équivalent à setLeft().

Voir aussi x(), setY() et setTopLeft().

void QRectF::setY ( qreal y )

Définit l'ordonnée de l'arête supérieure du rectangle à l'ordonnée y donnée. Ceci peut changer la hauteur mais jamais l'arête inférieure du rectangle.

Équivalent à setTop().

Voir aussi y(), setX() et setTopLeft().

QSizef QRectF::size () const

Retourne la taille du rectangle.

Voir aussi setSize(), width() et height().

QRect QRectF::toAlignedRect () const

Retourne un QRect basé sur les valeurs du rectangle, tel qu'il soit le plus petit rectangle possible à coordonnées entières qui contienne entièrement ce rectangle.

Cette fonction a été introduite dans Qt 4.3.

Voir aussi toRect().

QRect QRectF::toRect () const

Retourne un QRect basé sur les valeurs du rectangle. Notez que les valeurs du rectangle retourné sont arrondies à l'entier le plus proche.

Voir aussi QRectF() et toAlignedRect().

qreal QRectF::top () const

Retourne l'ordonnée de l'arête supérieure du rectangle. Équivalent à y().

Voir aussi setTop(), topLeft() et topRight().

Qpointf QRectF::topLeft () const

Retourne la position du coin supérieur gauche du rectangle.

Voir aussi setTopLeft(), top() et left().

Qpointf QRectF::topRight () const

Retourne la position du coin supérieur droit du rectangle.

Voir aussi setTopRight(), top() et right().

void QRectF::translate ( qreal dx, qreal dy )

Déplace le rectangle de dx selon l'axe x et de dy selon l'axe y, par rapport à sa position actuelle. Des valeurs positives de dx et dy déplacent le rectangle vers la droite et le bas.

Voir aussi moveTopLeft(), moveTo() et translated().

void QRectF::translate ( const Qpointf & offset )

Il s'agit d'une fonction surchargée.

Déplace le rectangle de offset.x() selon l'axe X et de offset.y() selon l'axe Y, par rapport à sa position actuelle.

QRectF QRectF::translated ( qreal dx, qreal dy ) const

Retourne une copie du rectangle translatée de dx selon l'axe X et de dy selon l'axe Y, par rapport à sa position actuelle. Des valeurs positives de dx et dy déplacent le rectangle vers la droite et le bas.

Voir aussi translate().

QRectF QRectF::translated ( const Qpointf & offset ) const

Il s'agit d'une fonction surchargée.

Retourne une copie du rectangle translatée de offset.x() selon l'axe X et de offset.y() selon l'axe Y, par rapport à sa position actuelle.

QRectF QRectF::united ( const QRectF & rectangle ) const

Retourne le rectangle englobant le rectangle et le rectangle donné.

image

Cette fonction a été introduite dans Qt 4.2.

Voir aussi intersected().

qreal QRectF::width () const

Retourne la largeur du rectangle.

Voir aussi setWidth(), height() et size().

qreal QRectF::x () const

Retourne l'abscisse de l'arête gauche du rectangle. Équivalent à left().

Voir aussi setX(), y() et topLeft().

qreal QRectF::y () const

Retourne l'ordonnée de l'arête supérieure du rectangle. Équivalent à top().

Voir aussi setY(), x() et topLeft().

QRectF QRectF::operator& ( const QRectF & rectangle ) const

Retourne l'intersection du rectangle avec le rectangle donné. Retourne un rectangle vide s'il n'y a pas d'intersection.

Voir aussi operator&=() et intersected().

QRectF & QRectF::operator&= ( const QRectF & rectangle )

Intersecte le rectangle avec le rectangle donné.

Voir aussi intersected() et operator&().

QRectF QRectF::operator| ( const QRectF & rectangle ) const

Retourne le rectangle englobant ce rectangle et le rectangle donné.

Voir aussi operator|=() and united().

QRectF & QRectF::operator|= ( const QRectF & rectangle )

Réunit le rectangle et le rectangle donné.

Voir aussi united() et operator|().

En relation mais non membres de la classe

bool operator!= ( const QRectF & r1, const QRectF & r2 )

Retourne true si les rectangles r1 et r2 sont différents, sinon retourne false.

QDataStream & operator<< ( QDataStream & stream, const QRectF & rectangle )

Écrit le rectangle donné dans le flux stream donné et retourne une référence sur le flux.

Voir aussi sérialisation des types de données Qt.

bool operator== ( const QRectF & r1, const QRectF & r2 )

Retourne true si les rectangles r1 et r2 sont égaux, sinon retourne false.

QDataStream & operator>> ( QDataStream & stream, QRectF & rectangle )

Lit un rectangle à partir du flux stream donné, la place dans le rectangle donné et retourne une référence sur le flux.

Voir aussi sérialisation des types de données Qt.

Remerciements

Merci à Abdelhafid Hafidiet Nicolas Carion pour la traduction, à Jonathan Courtois, Thibaut Cuvelier et Maxime Gault pour la relecture !

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. Microsoft ouvre aux autres compilateurs C++ AMP, la spécification pour la conception d'applications parallèles C++ utilisant le GPU 22
  2. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  3. RIM : « 13 % des développeurs ont gagné plus de 100 000 $ sur l'AppWord », Qt et open-source au menu du BlackBerry DevCon Europe 0
  4. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 12
  5. 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
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
Page suivante

Le Qt Developer Network au hasard

Logo

Compiler l'add-in Qt de Visual Studio

Le Qt Developer Network est un réseau de développeurs Qt anglophone, où ils peuvent partager leur expérience sur le framework. 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