Sur cette page

QRect Class

La classe QRect définit un rectangle dans le plan avec une précision entière. En savoir plus...

En-tête : #include <QRect>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core

Remarque : toutes les fonctions de cette classe sont réentrantes.

Comparaisons QRect

CatégorieTypes comparables
égalitéQRect
égalitéQRectF.

Fonctions publiques

QRect()
QRect(const QPoint &topLeft, const QPoint &bottomRight)
QRect(const QPoint &topLeft, const QSize &size)
QRect(int x, int y, int width, int height)
void adjust(int dx1, int dy1, int dx2, int dy2)
QRect adjusted(int dx1, int dy1, int dx2, int dy2) const
int bottom() const
QPoint bottomLeft() const
QPoint bottomRight() const
QPoint center() const
bool contains(const QPoint &point, bool proper = false) const
bool contains(const QRect &rectangle, bool proper = false) const
bool contains(int x, int y) const
bool contains(int x, int y, bool proper) const
void getCoords(int *x1, int *y1, int *x2, int *y2) const
void getRect(int *x, int *y, int *width, int *height) const
int height() const
QRect intersected(const QRect &rectangle) const
bool intersects(const QRect &rectangle) const
bool isEmpty() const
bool isNull() const
bool isValid() const
int left() const
QRect marginsAdded(const QMargins &margins) const
QRect marginsRemoved(const QMargins &margins) const
void moveBottom(int y)
void moveBottomLeft(const QPoint &position)
void moveBottomRight(const QPoint &position)
void moveCenter(const QPoint &position)
void moveLeft(int x)
void moveRight(int x)
void moveTo(const QPoint &position)
void moveTo(int x, int y)
void moveTop(int y)
void moveTopLeft(const QPoint &position)
void moveTopRight(const QPoint &position)
QRect normalized() const
int right() const
void setBottom(int y)
void setBottomLeft(const QPoint &position)
void setBottomRight(const QPoint &position)
void setCoords(int x1, int y1, int x2, int y2)
void setHeight(int height)
void setLeft(int x)
void setRect(int x, int y, int width, int height)
void setRight(int x)
void setSize(const QSize &size)
void setTop(int y)
void setTopLeft(const QPoint &position)
void setTopRight(const QPoint &position)
void setWidth(int width)
void setX(int x)
void setY(int y)
QSize size() const
CGRect toCGRect() const
(since 6.4) QRectF toRectF() const
int top() const
QPoint topLeft() const
QPoint topRight() const
void translate(int dx, int dy)
void translate(const QPoint &offset)
QRect translated(int dx, int dy) const
QRect translated(const QPoint &offset) const
QRect transposed() const
QRect united(const QRect &rectangle) const
int width() const
int x() const
int y() const
QRect operator&(const QRect &rectangle) const
QRect &operator&=(const QRect &rectangle)
QRect &operator+=(const QMargins &margins)
QRect &operator-=(const QMargins &margins)
QRect operator|(const QRect &rectangle) const
QRect &operator|=(const QRect &rectangle)

Membres publics statiques

(since 6.0) QRect span(const QPoint &p1, const QPoint &p2)
bool operator!=(const QRect &lhs, const QRect &rhs)
QRect operator+(const QRect &rectangle, const QMargins &margins)
QRect operator+(const QMargins &margins, const QRect &rectangle)
QRect operator-(const QRect &lhs, const QMargins &rhs)
QDataStream &operator<<(QDataStream &stream, const QRect &rectangle)
bool operator==(const QRect &lhs, const QRect &rhs)
QDataStream &operator>>(QDataStream &stream, QRect &rectangle)

Description détaillée

Un rectangle est généralement défini par son coin supérieur gauche et ses dimensions. Les dimensions (largeur et hauteur) d’un QRect correspondent toujours au rectangle mathématique qui sert de base à son rendu.

Un QRect peut être construit à partir d’un ensemble d’entiers représentant la coordonnée gauche, la coordonnée supérieure, la largeur et la hauteur, ou à partir d’un objet « QPoint » et d’un objet « QSize ». Le code suivant crée deux rectangles identiques.

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

Il existe un troisième constructeur qui crée un QRect à partir des coordonnées du coin supérieur gauche et du coin inférieur droit, mais nous vous recommandons de ne pas l'utiliser. En effet, pour des raisons historiques, les valeurs renvoyées par les fonctions bottom() et right() s'écartent du véritable coin inférieur droit du rectangle.

La classe QRect fournit un ensemble de fonctions qui renvoient les différentes coordonnées du rectangle et permettent de les manipuler. QRect fournit également des fonctions permettant de déplacer le rectangle par rapport aux différentes coordonnées. De plus, la fonction moveTo() déplace le rectangle tout en conservant son coin supérieur gauche aux coordonnées indiquées. Par ailleurs, la fonction translate() déplace le rectangle d’un décalage donné par rapport à sa position actuelle, et la fonction translated() renvoie une copie translatée de ce rectangle.

La fonction size() renvoie les dimensions du rectangle sous la forme d’un objet QSize. Les dimensions peuvent également être récupérées séparément à l’aide des fonctions width() et height(). Pour manipuler les dimensions, utilisez les fonctions setSize(), setWidth() ou setHeight(). Il est également possible de modifier la taille en appliquant l’une des fonctions permettant de définir les coordonnées du rectangle, par exemple setBottom() ou setRight().

La fonction ` contains()` indique si un point donné se trouve à l'intérieur du rectangle ou non, et la fonction ` intersects()` renvoie ` true ` si ce rectangle recoupe un rectangle donné. La classe `QRect` fournit également la fonction ` intersected()`, qui renvoie le rectangle d'intersection, et la fonction ` united()`, qui renvoie le rectangle englobant le rectangle donné et celui-ci :

La fonction isEmpty() renvoie true si left() > right() ou top() > bottom(). Notez qu’un rectangle vide n’est pas valide : la fonction isValid() renvoie true si left() <= right() et top() <= bottom(). Un rectangle nul (isNull() == true), en revanche, a sa largeur et sa hauteur toutes deux définies à 0.

Notez qu’en raison de la manière dont QRect et QRectF sont définis, un QRect vide est défini essentiellement de la même manière que QRectF.

Enfin, les objets QRect peuvent être transmis par flux et comparés.

Rendu

Lorsqu’on utilise un peintre de type « anti-aliased », la ligne de délimitation d’un QRect sera affichée de manière symétrique de part et d’autre de la ligne de délimitation du rectangle mathématique. Mais lorsqu’on utilise un peintre de type « aliased » (par défaut), d’autres règles s’appliquent.

Ainsi, lors du rendu avec un stylo d’un pixel de large, la ligne de délimitation du QRect sera dessinée à droite et en dessous de la ligne de délimitation du rectangle mathématique.

Lors du rendu avec un stylo de deux pixels de large, la ligne de délimitation sera divisée en son milieu par le rectangle mathématique. Ce sera le cas chaque fois que le stylo est réglé sur un nombre pair de pixels ; en revanche, lors du rendu avec un stylo d’un nombre impair de pixels, le pixel supplémentaire sera affiché à droite et en dessous du rectangle mathématique, comme dans le cas d’un stylo d’un pixel.

Rectangle indiquant ses dimensions en largeur et en hauteurRectangle tracé avec un stylo d'un pixel indiquant les coordonnées des coins
Représentation logiqueStylo d’un pixel de large
Rectangle tracé avec un stylo de deux pixels, indiquant les coordonnées des coinsRectangle tracé avec un stylet de trois pixels, indiquant les coordonnées des coins
Stylo de deux pixels de largeStylo de trois pixels de large

Coordonnées

La classe QRect fournit un ensemble de fonctions qui renvoient les différentes coordonnées du rectangle et permettent de les manipuler. QRect fournit également des fonctions permettant de déplacer le rectangle par rapport à ces différentes coordonnées.

Prenons par exemple les fonctions left(), setLeft() et moveLeft() : left() renvoie la coordonnée x du bord gauche du rectangle, setLeft() positionne le bord gauche du rectangle à la coordonnée x donnée (cela peut modifier la largeur, mais ne modifie jamais le bord droit du rectangle) et moveLeft() déplace l’ensemble du rectangle horizontalement, en laissant le bord gauche du rectangle à la coordonnée x donnée et en conservant sa taille inchangée.

Schéma d'un rectangle illustrant les méthodes QRect relatives aux positions : x(), y(), center(), aux coins (topLeft(), topRight(), bottomLeft(), bottomRight()) et aux bords (top(), bottom(), left(), right()).

Notez que, pour des raisons historiques, les valeurs renvoyées par les fonctions bottom() et right() s’écartent du véritable coin inférieur droit du rectangle : la fonction right() renvoie left () + width() - 1 et la fonction bottom() renvoie top() + height() - 1. Il en va de même pour le point renvoyé par la fonction de commodité bottomRight(). De plus, les coordonnées x et y des fonctions topRight() et bottomLeft() présentent respectivement le même écart par rapport aux bords droit et inférieur réels.

Nous vous recommandons d’utiliser x() + width() et y() + height() pour trouver le véritable coin inférieur droit, et d’éviter right() et bottom(). Une autre solution consiste à utiliser QRectF: la classe QRectF définit un rectangle dans le plan en utilisant la précision en virgule flottante pour les coordonnées, et les fonctions QRectF::right() et QRectF::bottom() renvoient bien les coordonnées droite et inférieure.

Il est également possible d’ajouter des décalages aux coordonnées de ce rectangle à l’aide de la fonction adjust(), ainsi que d’obtenir un nouveau rectangle basé sur les ajustements apportés au rectangle d’origine à l’aide de la fonction adjusted(). Si la largeur ou la hauteur est négative, utilisez la fonction normalized() pour obtenir un rectangle dont les coins sont inversés.

De plus, QRect fournit la fonction getCoords() qui extrait la position des coins supérieur gauche et inférieur droit du rectangle, ainsi que la fonction getRect() qui extrait le coin supérieur gauche, la largeur et la hauteur du rectangle. Utilisez les fonctions setCoords() et setRect() pour manipuler les coordonnées et les dimensions du rectangle en une seule opération.

Contraintes

QRect est limité aux valeurs minimales et maximales du type ` int `. Les opérations sur un QRect susceptibles de produire des valeurs hors de cette plage entraîneront un comportement indéfini.

Voir également QRectF et QRegion.

Documentation des fonctions membres

[constexpr noexcept] QRect::QRect()

Crée un rectangle nul.

Voir aussi ` isNull()`.

[constexpr noexcept] QRect::QRect(const QPoint &topLeft, const QPoint &bottomRight)

Construit un rectangle dont les sommets sont définis par les coordonnées topLeft et bottomRight, ces deux points inclus.

Si bottomRight est situé plus haut et plus à gauche que topLeft, le rectangle défini n'inclut pas les coins.

Remarque : pour vous assurer que les deux points sont inclus quel que soit leur ordre relatif, utilisez span().

Voir également setTopLeft(), setBottomRight() et span().

[constexpr noexcept] QRect::QRect(const QPoint &topLeft, const QSize &size)

Construit un rectangle dont le coin est défini par topLeft et dont la longueur est définie par size.

Voir également setTopLeft() et setSize().

[constexpr noexcept] QRect::QRect(int x, int y, int width, int height)

Crée un rectangle dont le coin supérieur gauche est situé à l'adresse (x, y) et dont les dimensions sont width et height.

Voir aussi setRect().

[constexpr noexcept] void QRect::adjust(int dx1, int dy1, int dx2, int dy2)

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

Voir également adjusted() et setRect().

[constexpr noexcept] QRect QRect::adjusted(int dx1, int dy1, int dx2, int dy2) const

Renvoie un nouveau rectangle auquel sont respectivement ajoutées les coordonnées dx1, dy1, dx2 et dy2 aux coordonnées existantes de ce rectangle.

Voir également adjust().

[constexpr noexcept] int QRect::bottom() const

Renvoie la coordonnée y du bord inférieur du rectangle.

Notez que, pour des raisons historiques, cette fonction renvoie top() + height() - 1 ; utilisez y() + height() pour récupérer la véritable coordonnée y.

Voir également setBottom(), bottomLeft() et bottomRight().

[constexpr noexcept] QPoint QRect::bottomLeft() const

Renvoie la position du coin inférieur gauche du rectangle. Notez que, pour des raisons historiques, cette fonction renvoie QPoint(left(), top() + height() - 1).

Voir également setBottomLeft(), bottom() et left().

[constexpr noexcept] QPoint QRect::bottomRight() const

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

Notez que, pour des raisons historiques, cette fonction renvoie QPoint(left() + width() -1, top() + height() - 1).

Voir également setBottomRight(), bottom() et right().

[constexpr noexcept] QPoint QRect::center() const

Renvoie le point central du rectangle.

Voir également moveCenter().

[noexcept] bool QRect::contains(const QPoint &point, bool proper = false) const

Renvoie true si l'point donné se trouve à l'intérieur ou sur le bord du rectangle, sinon renvoie false. Si proper est vrai, cette fonction ne renvoie true que si l'point donné se trouve à l'intérieur du rectangle (c'est-à-dire pas sur le bord).

Voir également intersects().

[noexcept] bool QRect::contains(const QRect &rectangle, bool proper = false) const

Renvoie « true » si l'rectangle donné se trouve à l'intérieur de ce rectangle. Sinon, renvoie « false ». Si « proper » est vrai, cette fonction ne renvoie « true » que si l'rectangle se trouve entièrement à l'intérieur de ce rectangle (et non sur un bord).

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

[noexcept] bool QRect::contains(int x, int y) const

Renvoie « true » si le point (x, y) se trouve à l'intérieur de ce rectangle, sinon renvoie « false ».

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

[noexcept] bool QRect::contains(int x, int y, bool proper) const

Renvoie « true » si le point (x, y) se trouve à l'intérieur ou sur le bord du rectangle ; sinon, renvoie « false ». Si « proper » est vrai, cette fonction ne renvoie « true » que si le point se trouve entièrement à l'intérieur du rectangle (et non sur le bord).

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

[constexpr] void QRect::getCoords(int *x1, int *y1, int *x2, int *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 également setCoords() et getRect().

[constexpr] void QRect::getRect(int *x, int *y, int *width, int *height) const

Récupère la position du coin supérieur gauche du rectangle dans *x et *y, ainsi que ses dimensions dans *width et *height.

Voir également setRect() et getCoords().

[constexpr noexcept] int QRect::height() const

Renvoie la hauteur du rectangle.

Voir également setHeight(), width() et size().

[noexcept] QRect QRect::intersected(const QRect &rectangle) const

Renvoie l'intersection de ce rectangle et de l'rectangle donné. Notez que r.intersected(s) équivaut à r & s.

Schéma illustrant l'intersection de deux rectangles r et s, avec la zone de chevauchement mise en évidence. Il montre également comment la largeur et la hauteur de la zone mise en évidence sont déterminées à l'aide de r.intersect(s).width et r.intersect(s).height().

Voir également intersects(), united() et operator&=().

[noexcept] bool QRect::intersects(const QRect &rectangle) const

Renvoie « true » si ce rectangle recoupe le rectangle donné rectangle (c'est-à-dire s'il existe au moins un pixel situé à l'intérieur des deux rectangles), sinon renvoie « false ».

Le rectangle d’intersection peut être récupéré à l’aide de la fonction intersected().

Voir également contains().

[constexpr noexcept] bool QRect::isEmpty() const

Renvoie true si le rectangle est vide, sinon renvoie false.

Un rectangle vide présente une relation left() > right() ou top() > bottom(). Un rectangle vide n'est pas valide (c'est-à-dire isEmpty() == !isValid()).

Utilisez la fonction normalized() pour récupérer un rectangle dont les coins ont été permutés.

Voir également isNull(), isValid() et normalized().

[constexpr noexcept] bool QRect::isNull() const

Renvoie « true » si le rectangle est un rectangle nul ; sinon, renvoie « false ».

Un rectangle nul est un rectangle dont la largeur et la hauteur sont toutes deux définies sur 0 (c'est-à-dire que right() == left() - 1 et bottom() == top() - 1). Un rectangle nul est également vide et n'est donc pas valide.

Voir également isEmpty() et isValid().

[constexpr noexcept] bool QRect::isValid() const

Renvoie ` true ` si le rectangle est valide, sinon renvoie ` false`.

Un rectangle valide satisfait les conditions suivantes : left() ≤ right() et top() ≤ bottom(). Notez que les opérations non triviales, telles que les intersections, ne sont pas définies pour les rectangles non valides. Un rectangle valide n'est pas vide (c'est-à-dire isValid() == !isEmpty()).

Voir également isNull(), isEmpty() et normalized().

[constexpr noexcept] int QRect::left() const

Renvoie la coordonnée x du bord gauche du rectangle. Équivalent à x().

Voir également setLeft(), topLeft() et bottomLeft().

[constexpr noexcept] QRect QRect::marginsAdded(const QMargins &margins) const

Renvoie un rectangle agrandi selon la fonction « margins ».

Voir également operator+=(), marginsRemoved() et operator-=().

[constexpr noexcept] QRect QRect::marginsRemoved(const QMargins &margins) const

Supprime l'margins e du rectangle, ce qui le réduit.

Voir également marginsAdded(), operator+=() et operator-=().

[constexpr noexcept] void QRect::moveBottom(int y)

Déplace le rectangle verticalement, en maintenant son bord inférieur à la coordonnée d'y spécifiée. La taille du rectangle reste inchangée.

Voir également bottom(), setBottom() et moveTop().

[constexpr noexcept] void QRect::moveBottomLeft(const QPoint &position)

Déplace le rectangle en conservant son coin inférieur gauche à l'position indiquée. La taille du rectangle reste inchangée.

Voir également setBottomLeft(), moveBottom() et moveLeft().

[constexpr noexcept] void QRect::moveBottomRight(const QPoint &position)

Déplace le rectangle en conservant son coin inférieur droit à l'position indiquée. La taille du rectangle reste inchangée.

Voir également setBottomRight(), moveRight() et moveBottom().

[constexpr noexcept] void QRect::moveCenter(const QPoint &position)

Déplace le rectangle en conservant son centre à l'position e indiquée. La taille du rectangle reste inchangée.

Voir aussi center().

[constexpr noexcept] void QRect::moveLeft(int x)

Déplace le rectangle horizontalement, en laissant le bord gauche du rectangle à la coordonnée x indiquée. La taille du rectangle reste inchangée.

Voir également ` left()`, ` setLeft()` et ` moveRight()`.

[constexpr noexcept] void QRect::moveRight(int x)

Déplace le rectangle horizontalement, en laissant le bord droit du rectangle à la coordonnée x indiquée. La taille du rectangle reste inchangée.

Voir également right(), setRight() et moveLeft().

[constexpr noexcept] void QRect::moveTo(const QPoint &position)

Déplace le rectangle en conservant son coin supérieur gauche à l'position e indiquée.

[constexpr noexcept] void QRect::moveTo(int x, int y)

Déplace le rectangle en conservant son coin supérieur gauche à la position indiquée (x, y). La taille du rectangle reste inchangée.

Voir également translate() et moveTopLeft().

[constexpr noexcept] void QRect::moveTop(int y)

Déplace le rectangle verticalement, en maintenant son bord supérieur à la coordonnée d'y spécifiée. La taille du rectangle reste inchangée.

Voir également top(), setTop() et moveBottom().

[constexpr noexcept] void QRect::moveTopLeft(const QPoint &position)

Déplace le rectangle en conservant son coin supérieur gauche à la coordonnée indiquée position. La taille du rectangle reste inchangée.

Voir également setTopLeft(), moveTop() et moveLeft().

[constexpr noexcept] void QRect::moveTopRight(const QPoint &position)

Déplace le rectangle en conservant son coin supérieur droit à la coordonnée spécifiée position. La taille du rectangle reste inchangée.

Voir également setTopRight(), moveTop() et moveRight().

[noexcept] QRect QRect::normalized() const

Renvoie un rectangle normalisé, c'est-à-dire un rectangle dont la largeur et la hauteur sont non négatives.

Si width() < 0, la fonction permute les coins gauche et droit, et permute les coins supérieur et inférieur si height() < 0. Les coins passent alors de non inclusifs à inclusifs.

Voir également isValid() et isEmpty().

Renvoie la coordonnée x du bord droit du rectangle.

Notez que, pour des raisons historiques, cette fonction renvoie left() + width() - 1 ; utilisez x() + width() pour obtenir la véritable coordonnée x.

Voir également setRight(), topRight() et bottomRight().

[constexpr noexcept] void QRect::setBottom(int y)

Définit le bord inférieur du rectangle à la coordonnée y indiquée. Peut modifier la hauteur, mais ne modifie jamais le bord supérieur du rectangle.

Voir également bottom() et moveBottom().

[constexpr noexcept] void QRect::setBottomLeft(const QPoint &position)

Définit le coin inférieur gauche du rectangle à l'adresse position. La taille peut varier, mais le coin supérieur droit du rectangle reste toujours inchangé.

Voir également bottomLeft() et moveBottomLeft().

[constexpr noexcept] void QRect::setBottomRight(const QPoint &position)

Définit le coin inférieur droit du rectangle aux coordonnées position. La taille peut varier, mais le coin supérieur gauche du rectangle reste toujours inchangé.

Voir également bottomRight() et moveBottomRight().

[constexpr noexcept] void QRect::setCoords(int x1, int y1, int x2, int y2)

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

Voir également getCoords() et setRect().

[constexpr noexcept] void QRect::setHeight(int height)

Définit la hauteur du rectangle à la valeur indiquée height. Le bord inférieur est modifié, mais pas le bord supérieur.

Voir également height() et setSize().

[constexpr noexcept] void QRect::setLeft(int x)

Définit le bord gauche du rectangle à la coordonnée x indiquée. Peut modifier la largeur, mais ne modifie jamais le bord droit du rectangle.

Équivalent à ` setX()`.

Voir également left() et moveLeft().

[constexpr noexcept] void QRect::setRect(int x, int y, int width, int height)

Définit les coordonnées du coin supérieur gauche du rectangle sur (x, y), et sa taille sur les valeurs indiquées width et height.

Voir également getRect() et setCoords().

[constexpr noexcept] void QRect::setRight(int x)

Définit le bord droit du rectangle à la coordonnée indiquée ( x ). Cela peut modifier la largeur, mais ne modifie jamais le bord gauche du rectangle.

Voir également ` right()` et ` moveRight()`.

[constexpr noexcept] void QRect::setSize(const QSize &size)

Définit la taille du rectangle selon les coordonnées indiquées size. Le coin supérieur gauche n'est pas déplacé.

Voir également size(), setWidth() et setHeight().

[constexpr noexcept] void QRect::setTop(int y)

Définit le bord supérieur du rectangle à la coordonnée « y » indiquée. Peut modifier la hauteur, mais ne modifie jamais le bord inférieur du rectangle.

Équivalent à ` setY()`.

Voir également top() et moveTop().

[constexpr noexcept] void QRect::setTopLeft(const QPoint &position)

Définit le coin supérieur gauche du rectangle à l'adresse indiquée position. La taille peut varier, mais le coin inférieur droit du rectangle reste toujours inchangé.

Voir également topLeft() et moveTopLeft().

[constexpr noexcept] void QRect::setTopRight(const QPoint &position)

Définit le coin supérieur droit du rectangle à l'adresse donnée position. La taille peut varier, mais le coin inférieur gauche du rectangle reste toujours inchangé.

Voir également topRight() et moveTopRight().

[constexpr noexcept] void QRect::setWidth(int width)

Définit la largeur du rectangle selon la valeur indiquée width. Le bord droit est modifié, mais pas le bord gauche.

Voir également ` width()` et ` setSize()`.

[constexpr noexcept] void QRect::setX(int x)

Définit le bord gauche du rectangle à la coordonnée d'x ion indiquée. Peut modifier la largeur, mais ne modifie jamais le bord droit du rectangle.

Équivalent à ` setLeft()`.

Voir également x(), setY() et setTopLeft().

[constexpr noexcept] void QRect::setY(int y)

Définit le bord supérieur du rectangle à la coordonnée y indiquée. Peut modifier la hauteur, mais ne modifie jamais le bord inférieur du rectangle.

Équivalent à ` setTop()`.

Voir également y(), setX() et setTopLeft().

[constexpr noexcept] QSize QRect::size() const

Renvoie la taille du rectangle.

Voir également setSize(), width() et height().

[static constexpr noexcept, since 6.0] QRect QRect::span(const QPoint &p1, const QPoint &p2)

Renvoie un rectangle délimité par les deux points p1 et p2, en incluant ces deux points ainsi que toute la zone située entre eux.

Cette fonction a été introduite dans Qt 6.0.

[noexcept] CGRect QRect::toCGRect() const

Crée un CGRect à partir d'un QRect.

Voir aussi QRectF::fromCGRect().

[constexpr noexcept, since 6.4] QRectF QRect::toRectF() const

Renvoie ce rectangle sous forme de rectangle avec une précision en virgule flottante.

Remarque : cette fonction, à l'instar du constructeur ` QRectF` (QRect), préserve la coordonnée ` size()` du rectangle, et non son coin ` bottomRight()`.

Cette fonction a été introduite dans Qt 6.4.

Voir également QRectF::toRect().

[constexpr noexcept] int QRect::top() const

Renvoie la coordonnée y du bord supérieur du rectangle. Équivalent à y().

Voir également setTop(), topLeft() et topRight().

[constexpr noexcept] QPoint QRect::topLeft() const

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

Voir également setTopLeft(), top() et left().

[constexpr noexcept] QPoint QRect::topRight() const

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

Notez que, pour des raisons historiques, cette fonction renvoie QPoint(left() + width() -1, top()).

Voir également setTopRight(), top() et right().

[constexpr noexcept] void QRect::translate(int dx, int dy)

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

Voir également moveTopLeft(), moveTo() et translated().

[constexpr noexcept] void QRect::translate(const QPoint &offset)

Déplace le rectangle offset.x() le long de l'axe x et offset.y() le long de l'axe y, par rapport à la position actuelle.

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

[constexpr noexcept] QRect QRect::translated(int dx, int dy) const

Renvoie une copie du rectangle décalée de dx sur l'axe x et de dy sur l'axe y, par rapport à la position actuelle. Les valeurs positives déplacent le rectangle vers la droite et vers le bas.

Voir aussi translate().

[constexpr noexcept] QRect QRect::translated(const QPoint &offset) const

Renvoie une copie du rectangle translatée de offset.x() le long de l'axe x et de offset.y() le long de l'axe y, par rapport à la position courante.

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

[constexpr noexcept] QRect QRect::transposed() const

Renvoie une copie du rectangle dont la largeur et la hauteur ont été inversées :

QRect r = {15, 51, 42, 24};
r = r.transposed(); // r == {15, 51, 24, 42}

Voir aussi QSize::transposed().

[noexcept] QRect QRect::united(const QRect &rectangle) const

Renvoie le rectangle englobant de ce rectangle et de l'rectangle donné.

Schéma représentant deux rectangles r et s qui se chevauchent, ainsi que leur taille combinée, calculée à l'aide des méthodes r.united(s).width et r.united(s).height().

Voir aussi intersected().

[constexpr noexcept] int QRect::width() const

Renvoie la largeur du rectangle.

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

[constexpr noexcept] int QRect::x() const

Renvoie la coordonnée x du bord gauche du rectangle. Équivalent à left().

Voir également setX(), y() et topLeft().

[constexpr noexcept] int QRect::y() const

Renvoie la coordonnée y du bord supérieur du rectangle. Équivalent à top().

Voir également setY(), x() et topLeft().

[noexcept] QRect QRect::operator&(const QRect &rectangle) const

Renvoie l'intersection entre ce rectangle et l'rectangle donné. Renvoie un rectangle vide s'il n'y a pas d'intersection.

Voir également ` operator&=()` et ` intersected()`.

[noexcept] QRect &QRect::operator&=(const QRect &rectangle)

Coupe ce rectangle avec l'rectangle, donné.

Voir également intersected() et operator&().

[constexpr noexcept] QRect &QRect::operator+=(const QMargins &margins)

Ajoute l'margins e au rectangle, ce qui l'agrandit.

Voir également marginsAdded(), marginsRemoved() et operator-=().

[constexpr noexcept] QRect &QRect::operator-=(const QMargins &margins)

Renvoie un rectangle réduit selon la fonction « margins ».

Voir également marginsRemoved(), operator+=() et marginsAdded().

[noexcept] QRect QRect::operator|(const QRect &rectangle) const

Renvoie le rectangle englobant de ce rectangle et de l'rectangle donné.

Voir également operator|=() et united().

[noexcept] QRect &QRect::operator|=(const QRect &rectangle)

Réunit ce rectangle à celui indiqué sur rectangle.

Voir aussi united() et operator|().

Éléments non membres associés

[constexpr noexcept] bool operator!=(const QRect &lhs, const QRect &rhs)

Renvoie « true » si les rectangles lhs et rhs sont différents ; sinon, renvoie « false ».

[constexpr noexcept] QRect operator+(const QRect &rectangle, const QMargins &margins)

Renvoie l'rectangle, enrichi par l'margins.

[constexpr noexcept] QRect operator+(const QMargins &margins, const QRect &rectangle)

Renvoie l'rectangle, agrandie par l'margins.

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

[constexpr noexcept] QRect operator-(const QRect &lhs, const QMargins &rhs)

Renvoie le rectangle de l'lhs, réduit en fonction des marges de l'rhs.

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

Écrit l'rectangle on fournie dans le stream spécifié, puis renvoie une référence au flux.

Voir également Sérialisation des types de données Qt.

[constexpr noexcept] bool operator==(const QRect &lhs, const QRect &rhs)

Renvoie « true » si les rectangles lhs et rhs sont égaux ; sinon, renvoie « false ».

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

Lit un rectangle depuis l'stream spécifié vers l'rectangle spécifié, et renvoie une référence au flux.

Voir également Sérialisation des types de données Qt.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.