Sur cette page

QSize Class

La classe QSize définit la taille d'un objet bidimensionnel en utilisant une précision de point entière. Plus d'informations...

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 width() et une height(). Elle peut être définie dans le constructeur et modifiée à l'aide des fonctions setWidth(), setHeight() ou scale(), ou à l'aide d'opérateurs arithmétiques. Une taille peut également être manipulée directement en récupérant des références à la largeur et à la hauteur à l'aide des fonctions rwidth() et rheight(). Enfin, la largeur et la hauteur peuvent être échangées à l'aide de la fonction transpose().

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

La fonction expandedTo() permet d'obtenir une taille qui contient la hauteur et la largeur maximales de cette taille et d'une taille donnée. De même, la fonction boundedTo() renvoie une taille qui contient la hauteur et la largeur minimales de cette taille et d'une taille donnée.

Les objets QSize peuvent être transmis en continu et comparés.

Voir également QSizeF, QPoint, et QRect.

Documentation des fonctions membres

[constexpr noexcept] QSize::QSize()

Construit une taille avec une largeur et une hauteur non valides (c'est-à-dire que isValid() renvoie false).

Voir aussi isValid().

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

Construit une taille avec les données width et height.

Voir aussi setWidth() et setHeight().

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

Renvoie une taille contenant la largeur et la hauteur minimales de cette taille et de l'adresse otherSize.

Voir aussi expandedTo() et scale().

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

Renvoie une taille contenant la largeur et la hauteur maximales de cette taille et de l'adresse otherSize.

Voir aussi boundedTo() et scale().

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

Renvoie la taille qui résulte de l'augmentation de cette taille par margins.

Voir aussi shrunkBy().

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

Renvoie la hauteur.

Voir aussi width() et setHeight().

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

Renvoie true si la largeur et la hauteur sont inférieures ou égales à 0 ; sinon, renvoie false.

Voir aussi 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 aussi isValid() et isEmpty().

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

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

Voir aussi 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. A titre d'exemple :

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

// size becomes (100,15)

Voir aussi 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, l'utilisation d'une référence permet de manipuler directement la largeur :

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

// size becomes (120,10)

Voir aussi rheight() et setWidth().

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

Redimensionne la taille d'un rectangle avec les adresses width et height, en fonction de l'adresse mode:

  • Si mode est Qt::IgnoreAspectRatio, la taille est fixée à (width, height).
  • Si mode est Qt::KeepAspectRatio, la taille actuelle est mise à l'échelle pour obtenir un rectangle aussi grand que possible à l'intérieur de (width, height), en préservant le rapport d'aspect.
  • Si mode est Qt::KeepAspectRatioByExpanding, la taille actuelle est réduite à un rectangle aussi petit que possible à l'extérieur de (width, height), en préservant le rapport hauteur/largeur.

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)

Met à l'échelle la taille d'un rectangle avec l'adresse size, en fonction de l'adresse mode spécifiée.

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

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

Renvoie une taille adaptée à un rectangle avec les données width et height, en fonction de la taille spécifiée mode.

Voir aussi scale().

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

Renvoie une taille mise à l'échelle d'un rectangle de la taille donnée s, en fonction de la taille spécifiée mode.

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

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

Fixe la hauteur à la valeur donnée height.

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

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

Fixe la largeur à la valeur donnée width.

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

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

Renvoie la taille qui résulte de la réduction de cette taille par margins.

Voir aussi grownBy().

[noexcept] CGSize QSize::toCGSize() const

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

Voir aussi QSizeF::fromCGSize().

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

Renvoie cette taille en tant que taille avec une précision en virgule flottante.

Cette fonction a été introduite dans Qt 6.4.

Voir aussi QSizeF::toSize().

[noexcept] void QSize::transpose()

Intervertit les valeurs de largeur et de hauteur.

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

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

Renvoie une page QSize dont la largeur et la hauteur ont été interverties.

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 largeur et la hauteur par factor, et renvoie une référence à la taille.

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

Voir aussi scale().

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

Ajoute la valeur size à 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 la valeur size 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 largeur et la hauteur par divisor, et renvoie une référence à la taille.

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

Voir également QSize::scale().

Non-membres apparenté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 donnée size par la valeur donnée factor, et renvoie le résultat arrondi à l'entier le plus proche.

Voir aussi QSize::scale().

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

Multiplie la valeur donnée size par la valeur donnée factor, et 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 ajouté séparément.

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

Renvoie s2 soustrait de s1; chaque composant est soustrait séparément.

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

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

Voir aussi QSize::scale().

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

Écrit la donnée size 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 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 à partir de l'adresse stream dans l'adresse size 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.