Auf dieser Seite

QSizeF Class

Die Klasse „QSizeF“ definiert die Größe eines zweidimensionalen Objekts mit Gleitkommagenauigkeit. Mehr...

Header: #include <QSizeF>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Öffentliche Funktionen

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)

Statische öffentliche Mitglieder

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)

Ausführliche Beschreibung

Eine Größe wird durch „ width()“ und „ height()“ festgelegt. Sie kann im Konstruktor festgelegt und mithilfe der Funktionen „ setWidth()“, „ setHeight()“ oder „ scale()“ sowie mithilfe arithmetischer Operatoren geändert werden. Eine Größe kann auch direkt bearbeitet werden, indem Referenzen auf die Breite und Höhe mithilfe der Funktionen „ rwidth()“ und „ rheight()“ abgerufen werden. Schließlich können Breite und Höhe mithilfe der Funktion ` transpose()` vertauscht werden.

Die Funktion „ isValid()“ prüft, ob eine Größe gültig ist. Eine gültige Größe weist sowohl eine Breite als auch eine Höhe größer oder gleich Null auf. Die Funktion „ isEmpty()“ gibt „ true “ zurück, wenn entweder die Breite oder die Höhe kleiner (oder gleich) Null ist, während die Funktion „ isNull()“ nur dann „ true “ zurückgibt, wenn sowohl die Breite als auch die Höhe Null sind.

Verwenden Sie die Funktion „ expandedTo()“, um eine Größe abzurufen, die die maximale Höhe und Breite dieser Größe und einer angegebenen Größe enthält. Analog dazu gibt die Funktion „ boundedTo()“ eine Größe zurück, die die minimale Höhe und Breite dieser Größe und einer angegebenen Größe enthält.

Die Klasse `QSizeF` stellt außerdem die Funktion ` toSize()` bereit, die eine ` QSize `-Kopie dieser Größe zurückgibt, die durch Rundung von Breite und Höhe auf die nächsten ganzen Zahlen erstellt wird.

QSizeF-Objekte können sowohl gestreamt als auch verglichen werden.

Siehe auch „ QSize “, „ QPointF “ und „ QRectF “.

Dokumentation zu den Mitgliedsfunktionen

[constexpr noexcept] QSizeF::QSizeF()

Erzeugt eine ungültige Größe.

Siehe auch isValid().

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

Erzeugt eine Größe mit Gleitkommagenauigkeit aus dem angegebenen Wert „ size “.

Siehe auch ` toSize()` und ` QSize::toSizeF()`.

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

Erzeugt eine Größe mit den angegebenen endlichen width und height.

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

Gibt eine Größe zurück, die die minimale Breite und Höhe dieser Größe sowie des angegebenen „ otherSize “ enthält.

Siehe auch „ expandedTo()“ und „ scale()“.

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

Gibt ein „size“-Objekt zurück, das die maximale Breite und Höhe dieses „size“-Objekts sowie den angegebenen „ otherSize “ enthält.

Siehe auch ` boundedTo()` und ` scale()`.

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

Erstellt eine „ QSizeF “ aus „ size “.

Siehe auch toCGSize().

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

Gibt die Größe zurück, die sich ergibt, wenn diese Größe um margins vergrößert wird.

Siehe auch ` shrunkBy()`.

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

Gibt die Höhe zurück.

Siehe auch width() und setHeight().

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

Gibt „ true “ zurück, wenn entweder die Breite oder die Höhe kleiner oder gleich 0 ist; andernfalls wird „ false “ zurückgegeben.

Siehe auch isNull() und isValid().

[noexcept] bool QSizeF::isNull() const

Gibt „ true “ zurück, wenn sowohl die Breite als auch die Höhe 0,0 betragen (unabhängig vom Vorzeichen); andernfalls wird „ false “ zurückgegeben.

Siehe auch „ isValid()“ und „ isEmpty()“.

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

Gibt „ true “ zurück, wenn sowohl die Breite als auch die Höhe größer oder gleich 0 sind; andernfalls wird „ false “ zurückgegeben.

Siehe auch isNull() und isEmpty().

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

Gibt eine Referenz auf die Höhe zurück.

Durch die Verwendung einer Referenz ist es möglich, die Höhe direkt zu bearbeiten. Beispiel:

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

// size becomes (100,15.7)

Siehe auch rwidth() und setHeight().

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

Gibt eine Referenz auf die Breite zurück.

Durch die Verwendung einer Referenz ist es möglich, die Breite direkt zu bearbeiten. Beispiel:

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

// size becomes (120.8,10)

Siehe auch rheight() und setWidth().

[noexcept] void QSizeF::scale(qreal width, qreal height, Qt::AspectRatioMode mode)

Skaliert die Größe auf ein Rechteck mit den angegebenen Werten „ width “ und „ height “, entsprechend dem festgelegten Wert „ mode “.

  • Ist mode gleich Qt::IgnoreAspectRatio, wird die Größe auf (width, height) gesetzt.
  • Ist „ mode “ auf „ Qt::KeepAspectRatio “ gesetzt, wird die aktuelle Größe unter Beibehaltung des Seitenverhältnisses auf ein möglichst großes Rechteck innerhalb des Bereichs (width, height) skaliert.
  • Wenn „ mode “ auf „ Qt::KeepAspectRatioByExpanding “ gesetzt ist, wird die aktuelle Größe auf ein möglichst kleines Rechteck außerhalb des Bereichs (width, height) skaliert, wobei das Seitenverhältnis beibehalten wird.

Beispiel:

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)

Siehe auch „ setWidth()“, „ setHeight()“ und „ scaled()“.

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

Skaliert die Größe auf ein Rechteck mit den angegebenen Abmessungen size gemäß der festgelegten Skalierung mode.

Dies ist eine überladene Funktion.

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

Gibt eine Größe zurück, die entsprechend den angegebenen Werten für „ width “ und „ height “ sowie der festgelegten „ mode “ auf ein Rechteck skaliert wurde.

Siehe auch scale().

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

Gibt eine Größe zurück, die entsprechend der angegebenen Größe s und gemäß der angegebenen mode auf ein Rechteck skaliert wurde.

Dies ist eine überladene Funktion.

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

Setzt die Höhe auf den angegebenen endlichen Wert height.

Siehe auch height(), rheight() und setWidth().

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

Setzt die Breite auf den angegebenen endlichen Wert width.

Siehe auch width(), rwidth() und setHeight().

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

Gibt die Größe zurück, die sich ergibt, wenn diese Größe um margins verkleinert wird.

Siehe auch ` grownBy()`.

[noexcept] CGSize QSizeF::toCGSize() const

Erstellt ein `CGSize` aus einem ` QSizeF`.

Siehe auch ` fromCGSize()`.

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

Gibt eine auf Ganzzahlen basierende Kopie dieser Größe zurück.

Beachten Sie, dass die Koordinaten in der zurückgegebenen Größe auf die nächste ganze Zahl gerundet werden.

Siehe auch QSizeF() und QSize::toSizeF().

[noexcept] void QSizeF::transpose()

Tauscht die Werte für Breite und Höhe aus.

Siehe auch setWidth(), setHeight() und transposed().

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

Gibt die Größe zurück, wobei die Werte für Breite und Höhe vertauscht sind.

Siehe auch „ transpose()“.

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

Gibt die Breite zurück.

Siehe auch height() und setWidth().

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

Multipliziert sowohl die Breite als auch die Höhe mit dem angegebenen endlichen factor und gibt einen Verweis auf die Größe zurück.

Siehe auch ` scale()`.

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

Fügt die angegebene Größe „ size “ zu dieser Größe hinzu und gibt eine Referenz auf diese Größe zurück. Beispiel:

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

// s becomes (2,11)

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

Zieht die angegebene Größe ` size ` von dieser Größe ab und gibt einen Verweis auf diese Größe zurück. Zum Beispiel:

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

// s becomes (4,3)

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

Teilt sowohl die Breite als auch die Höhe durch den angegebenen Wert „ divisor “ und gibt eine Referenz auf die Größe zurück. Der Wert „ divisor “ darf weder Null noch NaN sein.

Siehe auch scale().

Verwandte Nicht-Mitglieder

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

Gibt „ true “ zurück, wenn die Größe „ lhs “ annähernd gleich der Größe „ rhs “ ist; andernfalls wird „ false “ zurückgegeben.

Die Größen gelten als annähernd gleich, wenn ihre Breite und Höhe annähernd gleich sind.

Diese Funktion wurde in Qt 6.8 eingeführt.

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

Gibt „ true “ zurück, wenn sowohl die Breite als auch die Höhe der Größe „ size “ annähernd gleich Null sind.

Diese Funktion wurde in Qt 6.8 eingeführt.

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

Gibt „ true “ zurück, wenn „ lhs “ und „ rhs “ sich ausreichend unterscheiden; andernfalls wird „ false “ zurückgegeben.

Warnung: Diese Funktion prüft nicht auf strenge Ungleichheit, sondern verwendet einen unscharfen Vergleich, um die Ausmaße der Größen zu vergleichen.

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

Multipliziert die angegebene „ size “ mit der angegebenen endlichen „ factor “ und gibt das Ergebnis zurück.

Dies ist eine überladene Funktion.

Siehe auch QSizeF::scale().

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

Multipliziert das angegebene „ size “ mit dem angegebenen endlichen „ factor “ und gibt das Ergebnis zurück.

Dies ist eine überladene Funktion.

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

Gibt die Summe aus s1 und s2 zurück; jede Komponente wird separat addiert.

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

Gibt das Ergebnis von „ s2 “ abzüglich „ s1 “ zurück; jede Komponente wird separat abgezogen.

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

Teilt den angegebenen Wert „ size “ durch den angegebenen Wert „ divisor “ und gibt das Ergebnis zurück. Der Wert „ divisor “ darf weder Null noch NaN sein.

Siehe auch „ QSizeF::scale()“.

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

Schreibt den angegebenen „ size “ in den angegebenen „ stream “ und gibt eine Referenz auf den Stream zurück.

Siehe auch „Serialisierung vonQt-Datentypen“.

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

Gibt „ true “ zurück, wenn „ lhs “ und „ rhs “ annähernd gleich sind; andernfalls wird „false“ zurückgegeben.

Warnung: Diese Funktion prüft nicht auf strikte Gleichheit, sondern verwendet einen unscharfen Vergleich, um die Ausdehnungen der Größen zu vergleichen.

Siehe auch qFuzzyCompare.

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

Liest eine Größe aus dem angegebenen „ stream “ in den angegebenen „ size “ ein und gibt eine Referenz auf den Stream zurück.

Siehe auch „Serialisierung vonQt-Datentypen“.

© 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.