Sur cette page

QSizeF Class

La classe QSizeF définit la taille d'un objet bidimensionnel en utilisant la précision en virgule flottante. En savoir plus...

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

Fonctions publiques

QSizeF()
QSizeF(const QSize &size)
QSizeF(qreal width, qreal height)
QSizeF boundedTo(const QSizeF &otherSize) const
QSizeF expandedTo(const QSizeF &otherSize) const
QSizeF grownBy(QMarginsF margins) const
qreal height() const
bool isEmpty() const
bool isNull() const
bool isValid() const
qreal &rheight()
qreal &rwidth()
void scale(qreal width, qreal height, Qt::AspectRatioMode mode)
void scale(const QSizeF &size, Qt::AspectRatioMode mode)
QSizeF scaled(qreal width, qreal height, Qt::AspectRatioMode mode) const
QSizeF scaled(const QSizeF &s, Qt::AspectRatioMode mode) const
void setHeight(qreal height)
void setWidth(qreal width)
QSizeF shrunkBy(QMarginsF margins) const
CGSize toCGSize() const
QSize toSize() const
void transpose()
QSizeF transposed() const
qreal width() const
QSizeF &operator*=(qreal factor)
QSizeF &operator+=(const QSizeF &size)
QSizeF &operator-=(const QSizeF &size)
QSizeF &operator/=(qreal divisor)

Membres publics statiques

QSizeF fromCGSize(CGSize size)
(since 6.8) bool qFuzzyCompare(const QSizeF &lhs, const QSizeF &rhs)
(since 6.8) bool qFuzzyIsNull(const QSizeF &size)
bool operator!=(const QSizeF &lhs, const QSizeF &rhs)
QSizeF operator*(const QSizeF &size, qreal factor)
QSizeF operator*(qreal factor, const QSizeF &size)
QSizeF operator+(const QSizeF &s1, const QSizeF &s2)
QSizeF operator-(const QSizeF &s1, const QSizeF &s2)
QSizeF operator/(const QSizeF &size, qreal divisor)
QDataStream &operator<<(QDataStream &stream, const QSizeF &size)
bool operator==(const QSizeF &lhs, const QSizeF &rhs)
QDataStream &operator>>(QDataStream &stream, QSizeF &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 inversé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 de cette taille et d’une taille donnée. De même, la fonction boundedTo() renvoie une taille contenant la hauteur et la largeur minimales de cette taille et d’une taille donnée.

La classe QSizeF fournit également la fonction toSize() qui renvoie une copie de type QSize de cette taille, construite en arrondissant la largeur et la hauteur aux entiers les plus proches.

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

Voir également QSize, QPointF et QRectF.

Documentation des fonctions membres

[constexpr noexcept] QSizeF::QSizeF()

Crée une taille non valide.

Voir également isValid().

[constexpr noexcept] QSizeF::QSizeF(const QSize &size)

Crée une valeur de type « size » avec une précision en virgule flottante à partir de l'size fournie.

Voir également ` toSize()` et ` QSize::toSizeF()`.

[constexpr noexcept] QSizeF::QSizeF(qreal width, qreal height)

Construit une mesure à partir des données finies width et height.

[constexpr noexcept] QSizeF QSizeF::boundedTo(const QSizeF &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] QSizeF QSizeF::expandedTo(const QSizeF &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().

[static noexcept] QSizeF QSizeF::fromCGSize(CGSize size)

Crée un fichier « QSizeF » à partir de size.

Voir aussi toCGSize().

[constexpr noexcept] QSizeF QSizeF::grownBy(QMarginsF margins) const

Renvoie la taille obtenue en augmentant cette taille de margins.

Voir aussi ` shrunkBy()`.

[constexpr noexcept] qreal QSizeF::height() const

Renvoie la hauteur.

Voir également width() et setHeight().

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

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

Voir également isNull() et isValid().

[noexcept] bool QSizeF::isNull() const

Renvoie ` true ` si la largeur et la hauteur sont toutes deux égales à 0,0 (sans tenir compte du signe) ; sinon, renvoie ` false`.

Voir également isValid() et isEmpty().

[constexpr noexcept] bool QSizeF::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] qreal &QSizeF::rheight()

Renvoie une référence à la hauteur.

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

QSizeF size(100, 10.2);
size.rheight() += 5.5;

// size becomes (100,15.7)

Voir également rwidth() et setHeight().

[constexpr noexcept] qreal &QSizeF::rwidth()

Renvoie une référence à la largeur.

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

QSizeF size(100.3, 10);
size.rwidth() += 20.5;

// size becomes (120.8,10)

Voir également rheight() et setWidth().

[noexcept] void QSizeF::scale(qreal width, qreal 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), en conservant le rapport d’aspect.

Exemple :

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

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

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

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

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

Redimensionne l'image en un rectangle aux dimensions size, conformément à la spécification mode.

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

[noexcept] QSizeF QSizeF::scaled(qreal width, qreal height, Qt::AspectRatioMode mode) const

Renvoie un rectangle dont la taille est mise à l'échelle selon les paramètres width et height, conformément à la valeur spécifiée pour mode.

Voir également scale().

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

Renvoie une taille mise à l'échelle pour former un rectangle aux dimensions indiquées s, conformément à la valeur spécifiée mode.

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

[constexpr noexcept] void QSizeF::setHeight(qreal height)

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

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

[constexpr noexcept] void QSizeF::setWidth(qreal width)

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

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

[constexpr noexcept] QSizeF QSizeF::shrunkBy(QMarginsF margins) const

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

Voir aussi ` grownBy()`.

[noexcept] CGSize QSizeF::toCGSize() const

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

Voir aussi fromCGSize().

[constexpr noexcept] QSize QSizeF::toSize() const

Renvoie une copie de cette taille sous forme d'entier.

Notez que les coordonnées de la taille renvoyée seront arrondies à l'entier le plus proche.

Voir également QSizeF() et QSize::toSizeF().

[noexcept] void QSizeF::transpose()

Permute les valeurs de largeur et de hauteur.

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

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

Renvoie la taille en inversant les valeurs de largeur et de hauteur.

Voir aussi transpose().

[constexpr noexcept] qreal QSizeF::width() const

Renvoie la largeur.

Voir aussi height() et setWidth().

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

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

Voir également ` scale()`.

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

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

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

// s becomes (2,11)

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

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

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

// s becomes (4,3)

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

Divise à la fois la largeur et la hauteur par l'divisor e fournie et renvoie une référence à la taille obtenue. L'divisor e ne doit être ni égal à zéro ni NaN.

Voir également scale().

Éléments non membres associés

[constexpr noexcept, since 6.8] bool qFuzzyCompare(const QSizeF &lhs, const QSizeF &rhs)

Renvoie « true » si la taille lhs est approximativement égale à la taille rhs; sinon, renvoie « false ».

Les tailles sont considérées comme approximativement égales si leur largeur et leur hauteur sont approximativement égales.

Cette fonction a été introduite dans Qt 6.8.

[constexpr noexcept, since 6.8] bool qFuzzyIsNull(const QSizeF &size)

Renvoie « true » si la largeur et la hauteur de la taille « size » sont toutes deux approximativement égales à zéro.

Cette fonction a été introduite dans Qt 6.8.

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

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

Avertissement : cette fonction ne vérifie pas s'il s'agit d'une inégalité stricte ; elle utilise plutôt une comparaison approximative pour comparer l'étendue des tailles.

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

Multiplie l'size on donnée par l'factor ion finie donnée et renvoie le résultat.

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

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

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

Multiplie l'size on donnée par l'factor ion finie donnée et renvoie le résultat.

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

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

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

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

Renvoie la différence entre s2 et s1; chaque composante est soustraite séparément.

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

Divise l'size on fournie par l'divisor on fournie et renvoie le résultat. L'divisor on ne doit être ni égale à zéro ni NaN.

Voir également QSizeF::scale().

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

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

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

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

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

Avertissement : cette fonction ne vérifie pas l'égalité stricte ; elle utilise plutôt une comparaison approximative pour comparer les étendues des tailles.

Voir aussi qFuzzyCompare.

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

Lit une valeur de taille à partir de l'stream spécifié dans l'size 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.