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 |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QSizeF gehört zu den Mal-Klassen.
Ö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) |
Verwandte Nicht-Mitglieder
(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:
[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 &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.