QSizeF Class

Die Klasse QSizeF definiert die Größe eines zweidimensionalen Objekts mit Fließkommagenauigkeit. Mehr...

Kopfzeile: #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)

Detaillierte Beschreibung

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

Die Funktion isValid() bestimmt, ob eine Größe gültig ist. Eine gültige Größe hat sowohl Breite als auch Höhe größer oder gleich Null. 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() true nur zurückgibt, wenn sowohl die Breite als auch die Höhe Null ist.

Verwenden Sie die Funktion expandedTo(), um eine Größe abzurufen, die die maximale Höhe und Breite dieser Größe und einer bestimmten Größe enthält. In ähnlicher Weise gibt die Funktion boundedTo() eine Größe zurück, die die minimale Höhe und Breite dieser Größe und einer gegebenen Größe enthält.

Die Klasse QSizeF bietet auch die Funktion toSize(), die eine Kopie dieser Größe ( QSize ) zurückgibt, die durch Auf- und Abrunden der Breite und Höhe auf die nächstgelegenen Ganzzahlen erzeugt wird.

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

Siehe auch QSize, QPointF, und QRectF.

Dokumentation der Mitgliedsfunktionen

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

Gibt die Größe zurück, die sich aus der Vergrößerung dieser Größe um margins ergibt.

Siehe auch shrunkBy().

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

Gibt die Größe zurück, die sich aus der Verkleinerung dieser Größe um margins ergibt.

Siehe auch grownBy().

[constexpr noexcept] QSizeF::QSizeF()

Konstruiert eine ungültige Größe.

Siehe auch isValid().

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

Konstruiert eine Größe mit Fließkommagenauigkeit aus der angegebenen size.

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

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

Konstruiert eine Größe mit der gegebenen 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 und die angegebene otherSize enthält.

Siehe auch expandedTo() und scale().

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

Gibt eine Größe zurück, die die maximale Breite und Höhe dieser Größe und die angegebene otherSize enthält.

Siehe auch boundedTo() und scale().

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

Erzeugt eine QRectF aus size.

Siehe auch toCGSize().

[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 einer der beiden Werte für Breite und 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 sind (ohne Berücksichtigung des Vorzeichens); 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 gleich oder größer als 0 sind; andernfalls wird false zurückgegeben.

Siehe auch isNull() und isEmpty().

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

Gibt einen Verweis auf die Höhe zurück.

Die Verwendung eines Verweises ermöglicht es, die Höhe direkt zu manipulieren. Ein 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 einen Verweis auf die Breite zurück.

Die Verwendung eines Verweises ermöglicht es, die Breite direkt zu manipulieren. Ein 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 dem angegebenen width und height, entsprechend dem angegebenen mode.

  • Wenn mode gleich Qt::IgnoreAspectRatio ist, wird die Größe auf (width, height) gesetzt.
  • Wenn mode gleich Qt::KeepAspectRatio ist, wird die aktuelle Größe auf ein Rechteck skaliert, das so groß wie möglich innerhalb von (width, height) ist, wobei das Seitenverhältnis erhalten bleibt.
  • Wenn mode gleich Qt::KeepAspectRatioByExpanding ist, wird die aktuelle Größe auf ein Rechteck skaliert, das so klein wie möglich außerhalb von (width, height) ist, 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)

Dies ist eine überladene Funktion.

Skaliert die Größe auf ein Rechteck mit der angegebenen size, entsprechend der angegebenen mode.

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

Gibt eine Größe zurück, die auf ein Rechteck mit dem angegebenen width und height skaliert ist, entsprechend dem angegebenen mode.

Siehe auch scale().

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

Dies ist eine überladene Funktion.

Gibt eine Größe zurück, die auf ein Rechteck mit der angegebenen Größe s skaliert ist, entsprechend der angegebenen mode.

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

Setzt die Höhe auf die angegebene endliche height.

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

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

Setzt die Breite auf die angegebene endliche width.

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

[noexcept] CGSize QSizeF::toCGSize() const

Erzeugt eine CGSize aus einer QSizeF.

Siehe auch fromCGSize().

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

Gibt eine ganzzahlige Kopie dieser Größe zurück.

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

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

[noexcept] void QSizeF::transpose()

Vertauscht die Werte für Breite und Höhe.

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

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

Gibt die Größe mit vertauschten Werten für Breite und Höhe zurück.

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)

Dies ist eine überladene Funktion.

Multipliziert sowohl die Breite als auch die Höhe mit der angegebenen endlichen factor und gibt eine Referenz auf die Größe zurück.

Siehe auch scale().

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

Addiert die angegebene size zu dieser Größe und gibt einen Verweis auf diese Größe zurück. Zum Beispiel:

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

// s becomes (2,11)

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

Subtrahiert die angegebene size von dieser Größe und gibt eine Referenz 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)

Dies ist eine überladene Funktion.

Teilt sowohl die Breite als auch die Höhe durch die angegebene divisor und gibt eine Referenz auf die Größe zurück. Die 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 ungefähr gleich der Größe rhs ist; andernfalls wird false zurückgegeben.

Die Größen werden als annähernd gleich angesehen, 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 Breite als auch Höhe der Größe size ungefähr 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 hinreichend unterschiedlich sind; andernfalls wird false zurückgegeben.

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

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

Dies ist eine überladene Funktion.

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

Siehe auch QSizeF::scale().

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

Dies ist eine überladene Funktion.

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

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

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

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

Gibt s2 subtrahiert von s1 zurück; jede Komponente wird separat subtrahiert.

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

Dies ist eine überladene Funktion.

Dividiert den angegebenen size durch den angegebenen divisor und gibt das Ergebnis zurück. Die 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 von Qt-Datentypen.

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

Gibt true zurück, wenn lhs und rhs ungefähr gleich sind; andernfalls wird false zurückgegeben.

Warnung: Diese Funktion prüft nicht auf strikte Gleichheit, sondern verwendet einen unscharfen Vergleich, um die Ausmaße 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 und gibt eine Referenz auf den Stream zurück.

Siehe auch Serialisierung von Qt-Datentypen.

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