Sur cette page

QSize Class

La classe QSize définit la taille d'un objet bidimensionnel en utilisant une précision en points entiers. En savoir plus...

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

Fonctions publiques

QSize()
QSize(int width, int height)
QSize boundedTo(const QSize &otherSize) const
QSize expandedTo(const QSize &otherSize) const
QSize grownBy(QMargins margins) const
int height() const
bool isEmpty() const
bool isNull() const
bool isValid() const
int &rheight()
int &rwidth()
void scale(int width, int height, Qt::AspectRatioMode mode)
void scale(const QSize &size, Qt::AspectRatioMode mode)
QSize scaled(int width, int height, Qt::AspectRatioMode mode) const
QSize scaled(const QSize &s, Qt::AspectRatioMode mode) const
void setHeight(int height)
void setWidth(int width)
QSize shrunkBy(QMargins margins) const
CGSize toCGSize() const
(since 6.4) QSizeF toSizeF() const
void transpose()
QSize transposed() const
int width() const
QSize &operator*=(qreal factor)
QSize &operator+=(const QSize &size)
QSize &operator-=(const QSize &size)
QSize &operator/=(qreal divisor)
bool operator!=(const QSize &lhs, const QSize &rhs)
QSize operator*(const QSize &size, qreal factor)
QSize operator*(qreal factor, const QSize &size)
QSize operator+(const QSize &s1, const QSize &s2)
QSize operator-(const QSize &s1, const QSize &s2)
QSize operator/(const QSize &size, qreal divisor)
QDataStream &operator<<(QDataStream &stream, const QSize &size)
bool operator==(const QSize &lhs, const QSize &rhs)
QDataStream &operator>>(QDataStream &stream, QSize &size)

Description détaillée

Une taille est spécifiée par une fonction ` width()` et une fonction ` height()`. Elle peut être définie dans le constructeur et modifiée à l’aide des fonctions ` setWidth()`, ` setHeight()` ou ` scale()`, ou encore à l’aide d’opérateurs arithmétiques. Une taille peut également être manipulée directement en récupérant les références à la largeur et à la hauteur à l’aide des fonctions ` rwidth()` et ` rheight()`. Enfin, la largeur et la hauteur peuvent être permutées à l’aide de la fonction transpose().

La fonction ` isValid()` détermine si une taille est valide (une taille valide possède une largeur et une hauteur toutes deux supérieures ou égales à zéro). La fonction ` isEmpty()` renvoie ` true ` si la largeur ou la hauteur est inférieure ou égale à zéro, tandis que la fonction ` isNull()` renvoie ` true ` uniquement si la largeur et la hauteur sont toutes deux égales à zéro.

Utilisez la fonction expandedTo() pour récupérer une taille contenant la hauteur et la largeur maximales entre cette taille et une taille donnée. De même, la fonction boundedTo() renvoie une taille contenant la hauteur et la largeur minimales entre cette taille et une taille donnée.

Les objets `QSize` peuvent être transmis par flux et comparés.

Voir également QSizeF, QPoint et QRect.

Documentation des fonctions membres

[constexpr noexcept] QSize::QSize()

Crée un objet « size » dont la largeur et la hauteur ne sont pas valides (c'est-à-dire que la fonction ` isValid()` renvoie ` false`).

Voir également isValid().

[constexpr noexcept] QSize::QSize(int width, int height)

Crée un objet de taille à partir des paramètres ` width ` et ` height` fournis.

Voir également setWidth() et setHeight().

[constexpr noexcept] QSize QSize::boundedTo(const QSize &otherSize) const

Renvoie un objet « size » contenant la largeur et la hauteur minimales de cet objet « size » et de l'objet « otherSize » fourni.

Voir également ` expandedTo()` et ` scale()`.

[constexpr noexcept] QSize QSize::expandedTo(const QSize &otherSize) const

Renvoie un objet « size » contenant la largeur et la hauteur maximales de cet objet « size » et de l’objet « otherSize » fourni.

Voir également ` boundedTo()` et ` scale()`.

[constexpr noexcept] QSize QSize::grownBy(QMargins margins) const

Renvoie la taille obtenue en augmentant cette taille de margins.

Voir aussi ` shrunkBy()`.

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

Renvoie la hauteur.

Voir également width() et setHeight().

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

Renvoie true si la largeur ou la hauteur est inférieure ou égale à 0 ; sinon, renvoie false.

Voir également isNull() et isValid().

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

Renvoie « true » si la largeur et la hauteur sont toutes deux égales à 0 ; sinon, renvoie « false ».

Voir également isValid() et isEmpty().

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

Renvoie « true » si la largeur et la hauteur sont toutes deux égales ou supérieures à 0 ; sinon, renvoie « false ».

Voir également isNull() et isEmpty().

[constexpr noexcept] int &QSize::rheight()

Renvoie une référence à la hauteur.

L'utilisation d'une référence permet de manipuler directement la hauteur. Par exemple :

QSize size(100, 10);
size.rheight() += 5;

// size becomes (100,15)

Voir également rwidth() et setHeight().

[constexpr noexcept] int &QSize::rwidth()

Renvoie une référence à la largeur.

L'utilisation d'une référence permet de manipuler directement la largeur. Par exemple :

QSize size(100, 10);
size.rwidth() += 20;

// size becomes (120,10)

Voir également rheight() et setWidth().

[noexcept] void QSize::scale(int width, int height, Qt::AspectRatioMode mode)

Redimensionne l'image en un rectangle dont les dimensions sont définies par les paramètres « width » et « height », conformément à la valeur spécifiée pour « mode » :

  • Si mode est égal à Qt::IgnoreAspectRatio, la taille est définie sur (width, height).
  • Si ` mode ` est ` Qt::KeepAspectRatio`, la taille actuelle est mise à l’échelle pour former un rectangle aussi grand que possible à l’intérieur de `(width, height)`, en conservant le rapport d’aspect.
  • Si mode vaut Qt::KeepAspectRatioByExpanding, la taille actuelle est redimensionnée pour former un rectangle aussi petit que possible à l’extérieur (width, height), tout en conservant le rapport d’aspect.

Exemple :

QSize t1(10, 12);
t1.scale(60, 60, Qt::IgnoreAspectRatio);
// t1 is (60, 60)

QSize t2(10, 12);
t2.scale(60, 60, Qt::KeepAspectRatio);
// t2 is (50, 60)

QSize t3(10, 12);
t3.scale(60, 60, Qt::KeepAspectRatioByExpanding);
// t3 is (60, 72)

Voir également ` setWidth()`, ` setHeight()` et ` scaled()`.

[noexcept] void QSize::scale(const QSize &size, Qt::AspectRatioMode mode)

Redimensionne l'image en un rectangle aux dimensions size, selon le mode spécifié.

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

[noexcept] QSize QSize::scaled(int width, int height, Qt::AspectRatioMode mode) const

Renvoie un rectangle dont la taille est adaptée aux dimensions width et height, conformément à la mode spécifiée.

Voir également scale().

[noexcept] QSize QSize::scaled(const QSize &s, Qt::AspectRatioMode mode) const

Renvoie un rectangle dont les dimensions sont adaptées à celles spécifiées par ` s`, conformément à la méthode ` mode` indiquée.

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

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

Définit la hauteur sur la valeur indiquée height.

Voir également rheight(), height() et setWidth().

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

Définit la largeur sur la valeur indiquée dans width.

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

[constexpr noexcept] QSize QSize::shrunkBy(QMargins margins) const

Renvoie la taille obtenue en réduisant cette taille de margins.

Voir aussi ` grownBy()`.

[noexcept] CGSize QSize::toCGSize() const

Crée un objet `CGSize` à partir d'un objet ` QSize`.

Voir aussi QSizeF::fromCGSize().

[constexpr noexcept, since 6.4] QSizeF QSize::toSizeF() const

Renvoie cette taille sous forme de valeur à virgule flottante.

Cette fonction a été introduite dans Qt 6.4.

Voir également ` QSizeF::toSize()`.

[noexcept] void QSize::transpose()

Permute les valeurs de largeur et de hauteur.

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

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

Renvoie un objet ` QSize ` dont la largeur et la hauteur sont inversées.

Voir aussi transpose().

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

Renvoie la largeur.

Voir aussi height() et setWidth().

[constexpr noexcept] QSize &QSize::operator*=(qreal factor)

Multiplie à la fois la largeur et la hauteur par l'factor e indiquée, puis renvoie une référence à la taille obtenue.

Notez que le résultat est arrondi à l'entier le plus proche.

Voir aussi ` scale()`.

[constexpr noexcept] QSize &QSize::operator+=(const QSize &size)

Ajoute l'size on indiquée à cette taille et renvoie une référence à cette taille. Par exemple :

QSize s( 3, 7);
QSize r(-1, 4);
s += r;

// s becomes (2,11)

[constexpr noexcept] QSize &QSize::operator-=(const QSize &size)

Soustrait l'size e spécifiée de cette taille et renvoie une référence à cette taille. Par exemple :

QSize s( 3, 7);
QSize r(-1, 4);
s -= r;

// s becomes (4,3)

QSize &QSize::operator/=(qreal divisor)

Divise à la fois la largeur et la hauteur par l'divisor e spécifiée, puis renvoie une référence à la taille obtenue.

Notez que le résultat est arrondi à l'entier le plus proche.

Voir également ` QSize::scale()`.

Éléments non membres associés

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

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

[constexpr noexcept] QSize operator*(const QSize &size, qreal factor)

Multiplie la valeur « size » par la valeur « factor », puis renvoie le résultat arrondi à l'entier le plus proche.

Voir aussi QSize::scale().

[constexpr noexcept] QSize operator*(qreal factor, const QSize &size)

Multiplie l'size on fournie par l'factor on fournie, puis renvoie le résultat arrondi à l'entier le plus proche.

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

[constexpr noexcept] QSize operator+(const QSize &s1, const QSize &s2)

Renvoie la somme de s1 et s2; chaque composant est additionné séparément.

[constexpr noexcept] QSize operator-(const QSize &s1, const QSize &s2)

Renvoie la valeur obtenue en soustrayant s2 de s1; chaque composante est soustraite séparément.

QSize operator/(const QSize &size, qreal divisor)

Divise la valeur size par la valeur divisor, puis renvoie le résultat arrondi à l'entier le plus proche.

Voir aussi QSize::scale().

QDataStream &operator<<(QDataStream &stream, const QSize &size)

Écrit l'size on fournie dans le stream on indiquée, puis renvoie une référence au flux.

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

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

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

QDataStream &operator>>(QDataStream &stream, QSize &size)

Lit une taille depuis le fichier ` stream ` vers le fichier ` size`, puis 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.