Sur cette page

QRect Class

La classe QRect définit un rectangle dans le plan en utilisant une précision entière. Plus d'informations...

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

Cette classe est comparable à l 'égalité.

Cette classe est comparable à QRectF.

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

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 QMargins &margins, const QRect &rectangle)
QRect operator+(const QRect &rectangle, const QMargins &margins)
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 normalement exprimé par un coin supérieur gauche et une taille. La taille (largeur et hauteur) d'un QRect est toujours équivalente au rectangle mathématique qui constitue la base de son rendu.

Un QRect peut être construit à partir d'un ensemble d'entiers de gauche, de haut, de largeur et de hauteur, ou à partir d'un QPoint et d'un 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 en utilisant les coordonnées haut-gauche et bas-droite, 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 une collection 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. Il existe en outre une fonction moveTo() qui déplace le rectangle en laissant son coin supérieur gauche aux coordonnées données. Alternativement, la fonction translate() déplace le rectangle du décalage donné par rapport à la position actuelle, et la fonction translated() renvoie une copie traduite de ce rectangle.

La fonction size() renvoie les dimensions du rectangle sous la forme d'un fichier 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(). La taille peut également être modifiée en appliquant l'une des fonctions définissant 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 croise 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 qui entoure le rectangle donné et this :

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 une largeur et une hauteur égales à 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 en continu et comparés.

Rendu

Lors de l'utilisation d'un peintre anti-aliased, la ligne de délimitation d'un QRect sera rendue symétriquement de part et d'autre de la ligne de délimitation du rectangle mathématique. Mais lorsqu'on utilise un peintre aliasé (par défaut), d'autres règles s'appliquent.

Ainsi, lors du rendu avec un stylo d'une largeur d'un pixel, la ligne de délimitation du QRect sera rendue à 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 coupée en deux par le rectangle mathématique. C'est le cas lorsque le stylo est réglé sur un nombre pair de pixels. Si le stylo a un nombre impair de pixels, le pixel libre sera placé à droite et en dessous du rectangle mathématique, comme dans le cas d'un pixel.

Représentation logiqueStylo d'une largeur d'un pixel
Stylo de deux pixels de largeStylo de trois pixels de large

Coordonnées

La classe QRect fournit une collection 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.

Par exemple, les fonctions left(), setLeft() et moveLeft() : left() renvoie la coordonnée x du bord gauche du rectangle, setLeft() fixe le bord gauche du rectangle à la coordonnée x donnée (elle peut modifier la largeur, mais ne modifiera 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.

Diagramme d'un rectangle montrant les méthodes QRect pour les positions : x(), y(), center(), les coins (topLeft(), topRight(), bottomLeft(), bottomRight()), et les 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(). En outre, les coordonnées x et y des fonctions topRight() et bottomLeft(), respectivement, contiennent le même écart par rapport aux véritables bords droit et inférieur.

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 des coordonnées en virgule flottante, et les fonctions QRectF::right() et QRectF::bottom() renvoient les coordonnées de droite et de bas .

Il est également possible d'ajouter des décalages aux coordonnées de ce rectangle à l'aide de la fonction adjust(), ainsi que de récupérer un nouveau rectangle basé sur des ajustements du rectangle original à l'aide de la fonction adjusted(). Si la largeur et la hauteur sont négatives, la fonction normalized() permet de récupérer un rectangle dont les coins sont intervertis.

En outre, QRect fournit la fonction getCoords() qui extrait la position du coin supérieur gauche et du coin inférieur droit du rectangle, et 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 fois.

Contraintes

QRect est limité aux valeurs minimales et maximales du type int. Les opérations sur un QRect qui pourraient potentiellement aboutir à des valeurs en dehors de cette plage entraîneront un comportement indéfini.

Voir également QRectF et QRegion.

Documentation des fonctions membres

[constexpr noexcept] QRect::QRect()

Construit un rectangle nul.

Voir également isNull().

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

Construit un rectangle avec les coins topLeft et bottomRight donnés, tous deux inclus.

Si bottomRight est supérieur et à gauche de topLeft, le rectangle défini n'inclut pas les coins.

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

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

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

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

Voir aussi setTopLeft() et setSize().

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

Construit un rectangle dont le coin supérieur gauche est (x, y) et dont les coordonnées sont width et height.

Voir aussi setRect().

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

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

Voir aussi adjusted() et setRect().

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

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

Voir aussi 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 aussi 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 aussi 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 le site point 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 site point se trouve à l'intérieur du rectangle (c'est-à-dire qu'il n'est pas sur le bord).

Voir aussi intersects().

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

Renvoie true si l'objet rectangle se trouve à l'intérieur de ce rectangle. Sinon, elle renvoie false. Si proper est vrai, cette fonction ne renvoie true que si rectangle se trouve entièrement à l'intérieur de ce rectangle (pas sur le 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 renvoie uniquement true si le point se trouve entièrement à l'intérieur du rectangle (pas 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 aussi setCoords() et getRect().

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

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

Voir aussi setRect() et getCoords().

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

Renvoie la hauteur du rectangle.

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

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

Renvoie l'intersection de ce rectangle et de l'adresse rectangle. Notez que r.intersected(s) est équivalent à r & s.

Diagramme montrant l'intersection de deux rectangles r et s avec la zone de chevauchement en surbrillance. Il montre également comment la largeur et la hauteur de la zone en surbrillance sont déterminées avec r.intersect(s).width et r.intersect(s).height().

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

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

Renvoie true si ce rectangle croise le rectangle donné rectangle (c'est-à-dire qu'il y a au moins un pixel à 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 a une valeur left() > right() ou top() > bottom(). Un rectangle vide n'est pas valide (c'est-à-dire que isEmpty() == !isValid()).

Utilisez la fonction normalized() pour récupérer un rectangle dont les coins sont intervertis.

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

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

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

La largeur et la hauteur d'un rectangle nul sont fixées à 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 possède un left() <= right() et un 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 que isValid() == !isEmpty()).

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

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

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

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

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

Renvoie un rectangle agrandi par margins.

Voir aussi operator+=(), marginsRemoved(), et operator-=().

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

Supprime le site margins du rectangle, en le rétrécissant.

Voir aussi marginsAdded(), operator+=() et operator-=().

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

Déplace le rectangle verticalement, en laissant le bord inférieur du rectangle à la coordonnée y donnée. La taille du rectangle reste inchangée.

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

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

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

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

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

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

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

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

Déplace le rectangle en laissant le point central à l'adresse position. 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 donnée. La taille du rectangle reste inchangée.

Voir aussi 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 donnée. La taille du rectangle reste inchangée.

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

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

Déplace le rectangle en laissant le coin supérieur gauche à la valeur donnée position.

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

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

Voir aussi translate() et moveTopLeft().

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

Déplace le rectangle verticalement, en laissant le bord supérieur du rectangle à la coordonnée y donnée. La taille du rectangle reste inchangée.

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

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

Déplace le rectangle en laissant le coin supérieur gauche à l'adresse position. La taille du rectangle reste inchangée.

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

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

Déplace le rectangle en laissant le coin supérieur droit à l'adresse position. La taille du rectangle reste inchangée.

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

[noexcept] QRect QRect::normalized() const

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

Si width() < 0, la fonction échange les coins gauche et droit, et elle échange les coins supérieur et inférieur si height() < 0. Les coins passent en même temps 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 récupérer la véritable coordonnée x.

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

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

Fixe le bord inférieur du rectangle à la coordonnée y donnée. Peut modifier la hauteur, mais ne modifiera jamais le bord supérieur du rectangle.

Voir aussi bottom() et moveBottom().

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

Fixe le coin inférieur gauche du rectangle à la valeur donnée position. Peut modifier la taille, mais ne modifiera jamais le coin supérieur droit du rectangle.

Voir aussi bottomLeft() et moveBottomLeft().

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

Fixe le coin inférieur droit du rectangle à la valeur donnée position. Peut modifier la taille, mais ne modifiera jamais le coin supérieur gauche du rectangle.

Voir aussi 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 à (x1, y1), et les coordonnées du coin inférieur droit à (x2, y2).

Voir aussi getCoords() et setRect().

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

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

Voir aussi height() et setSize().

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

Fixe le bord gauche du rectangle à la coordonnée x donnée. Peut modifier la largeur, mais ne modifiera jamais le bord droit du rectangle.

Équivalent à setX().

Voir aussi 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 à (x, y), et sa taille à width et height.

Voir aussi getRect() et setCoords().

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

Fixe le bord droit du rectangle à la coordonnée x donnée. Peut modifier la largeur, mais ne modifiera jamais le bord gauche du rectangle.

Voir aussi right() et moveRight().

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

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

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

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

Fixe le bord supérieur du rectangle à la coordonnée y donnée. Peut changer la hauteur, mais ne changera jamais le bord inférieur du rectangle.

Équivalent à setY().

Voir aussi top() et moveTop().

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

Fixe le coin supérieur gauche du rectangle à l'adresse position. Peut modifier la taille, mais ne modifiera jamais le coin inférieur droit du rectangle.

Voir aussi topLeft() et moveTopLeft().

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

Fixe le coin supérieur droit du rectangle à l'adresse position. Peut modifier la taille, mais ne modifiera jamais le coin inférieur gauche du rectangle.

Voir aussi topRight() et moveTopRight().

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

Fixe la largeur du rectangle à la valeur donnée width. Le bord droit est modifié, mais pas le bord gauche.

Voir aussi width() et setSize().

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

Fixe le bord gauche du rectangle à la coordonnée x donnée. Peut changer la largeur, mais ne changera jamais le bord droit du rectangle.

Équivalent à setLeft().

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

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

Fixe le bord supérieur du rectangle à la coordonnée y donnée. Peut changer la hauteur, mais ne changera jamais le bord inférieur du rectangle.

Équivalent à setTop().

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

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

Renvoie la taille du rectangle.

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

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

Renvoie un rectangle couvrant les deux points p1 et p2, y compris les deux et tout ce qui se trouve entre les deux.

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 en tant que rectangle avec une précision en virgule flottante.

Note : Cette fonction, comme le constructeur QRectF(QRect), préserve le size() du rectangle, et non son bottomRight() coin.

Cette fonction a été introduite dans Qt 6.4.

Voir aussi QRectF::toRect().

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

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

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

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

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

Voir aussi 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 dx le long de l'axe x et dy le long de l'axe y, par rapport à la position actuelle. Les valeurs positives déplacent le rectangle vers la droite et vers le bas.

Voir aussi 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 qui a été translaté de dx le long de l'axe x et de dy le long de l'axe y, par rapport à la position actuelle. Les valeurs positives déplacent le rectangle vers la droite et le bas.

Voir aussi translate().

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

Renvoie une copie du rectangle qui a été translaté 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::transposed() const

Renvoie une copie du rectangle dont la largeur et la hauteur ont été modifié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 de délimitation de ce rectangle et de rectangle.

Diagramme montrant deux rectangles superposés r et s et leur taille unie qui est déterminée par 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 aussi setX(), y() et topLeft().

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

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

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

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

Renvoie l'intersection de ce rectangle et de rectangle. Retourne un rectangle vide s'il n'y a pas d'intersection.

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

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

Intersection de ce rectangle avec le rectangle donné rectangle.

Voir aussi intersected() et operator&().

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

Ajoute le site margins au rectangle, en l'agrandissant.

Voir aussi marginsAdded(), marginsRemoved() et operator-=().

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

Renvoie un rectangle rétréci par la valeur margins.

Voir aussi marginsRemoved(), operator+=(), et marginsAdded().

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

Renvoie le rectangle de délimitation de ce rectangle et de rectangle.

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

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

Réunit ce rectangle avec le rectangle donné rectangle.

Voir aussi united() et operator|().

Non-membres apparenté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 QMargins &margins, const QRect &rectangle)

Retourne le rectangle cultivé par le margins.

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

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

Retourne le rectangle cultivé par le margins.

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

Renvoie le rectangle lhs rétréci par les marges rhs.

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

Écrit la donnée rectangle dans la donnée stream, et renvoie une référence au flux.

Voir aussi Serializing Qt Data Types (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 à partir de stream dans rectangle, et renvoie une référence au flux.

Voir aussi Serializing Qt Data Types (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.