QRect Class
Die Klasse „QRect“ definiert ein Rechteck in der Ebene mit ganzzahliger Genauigkeit. Mehr...
| Header: | #include <QRect> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QRect ist Teil der Mal-Klassen.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
QRect-Vergleiche
| Kategorie | Vergleichbare Typen |
|---|---|
| Gleichheit | QRect |
| Gleichheit | QRectF. |
Öffentliche Funktionen
| QRect() | |
| QRect(const QPoint &topLeft, const QPoint &bottomRight) | |
| QRect(const QPoint &topLeft, const QSize &size) | |
| QRect(int x, int y, int width, int height) | |
| void | adjust(int dx1, int dy1, int dx2, int dy2) |
| QRect | adjusted(int dx1, int dy1, int dx2, int dy2) const |
| int | bottom() const |
| QPoint | bottomLeft() const |
| QPoint | bottomRight() const |
| QPoint | center() const |
| bool | contains(const QPoint &point, bool proper = false) const |
| bool | contains(const QRect &rectangle, bool proper = false) const |
| bool | contains(int x, int y) const |
| bool | contains(int x, int y, bool proper) const |
| void | getCoords(int *x1, int *y1, int *x2, int *y2) const |
| void | getRect(int *x, int *y, int *width, int *height) const |
| int | height() const |
| QRect | intersected(const QRect &rectangle) const |
| bool | intersects(const QRect &rectangle) const |
| bool | isEmpty() const |
| bool | isNull() const |
| bool | isValid() const |
| int | left() const |
| QRect | marginsAdded(const QMargins &margins) const |
| QRect | marginsRemoved(const QMargins &margins) const |
| void | moveBottom(int y) |
| void | moveBottomLeft(const QPoint &position) |
| void | moveBottomRight(const QPoint &position) |
| void | moveCenter(const QPoint &position) |
| void | moveLeft(int x) |
| void | moveRight(int x) |
| void | moveTo(const QPoint &position) |
| void | moveTo(int x, int y) |
| void | moveTop(int y) |
| void | moveTopLeft(const QPoint &position) |
| void | moveTopRight(const QPoint &position) |
| QRect | normalized() const |
| int | right() const |
| void | setBottom(int y) |
| void | setBottomLeft(const QPoint &position) |
| void | setBottomRight(const QPoint &position) |
| void | setCoords(int x1, int y1, int x2, int y2) |
| void | setHeight(int height) |
| void | setLeft(int x) |
| void | setRect(int x, int y, int width, int height) |
| void | setRight(int x) |
| void | setSize(const QSize &size) |
| void | setTop(int y) |
| void | setTopLeft(const QPoint &position) |
| void | setTopRight(const QPoint &position) |
| void | setWidth(int width) |
| void | setX(int x) |
| void | setY(int y) |
| QSize | size() const |
| CGRect | toCGRect() const |
(since 6.4) QRectF | toRectF() const |
| int | top() const |
| QPoint | topLeft() const |
| QPoint | topRight() const |
| void | translate(int dx, int dy) |
| void | translate(const QPoint &offset) |
| QRect | translated(int dx, int dy) const |
| QRect | translated(const QPoint &offset) const |
| QRect | transposed() const |
| QRect | united(const QRect &rectangle) const |
| int | width() const |
| int | x() const |
| int | y() const |
| QRect | operator&(const QRect &rectangle) const |
| QRect & | operator&=(const QRect &rectangle) |
| QRect & | operator+=(const QMargins &margins) |
| QRect & | operator-=(const QMargins &margins) |
| QRect | operator|(const QRect &rectangle) const |
| QRect & | operator|=(const QRect &rectangle) |
Statische öffentliche Mitglieder
(since 6.0) QRect | span(const QPoint &p1, const QPoint &p2) |
Verwandte Nicht-Mitglieder
| bool | operator!=(const QRect &lhs, const QRect &rhs) |
| QRect | operator+(const QRect &rectangle, const QMargins &margins) |
| QRect | operator+(const QMargins &margins, const QRect &rectangle) |
| QRect | operator-(const QRect &lhs, const QMargins &rhs) |
| QDataStream & | operator<<(QDataStream &stream, const QRect &rectangle) |
| bool | operator==(const QRect &lhs, const QRect &rhs) |
| QDataStream & | operator>>(QDataStream &stream, QRect &rectangle) |
Ausführliche Beschreibung
Ein Rechteck wird normalerweise durch die obere linke Ecke und seine Größe angegeben. Die Größe (Breite und Höhe) eines QRect entspricht stets dem mathematischen Rechteck, das die Grundlage für seine Darstellung bildet.
Ein QRect kann mit einer Reihe von Ganzzahlen für „left“, „top“, „width“ und „height“ oder aus einem „ QPoint “ und einem „ QSize “ erstellt werden. Der folgende Code erstellt zwei identische Rechtecke.
Es gibt einen dritten Konstruktor, der ein QRect anhand der Koordinaten der oberen linken und unteren rechten Ecke erstellt, dessen Verwendung wir jedoch nicht empfehlen. Der Grund dafür ist, dass die von den Funktionen ` bottom()` und ` right()` zurückgegebenen Werte aus historischen Gründen von der tatsächlichen unteren rechten Ecke des Rechtecks abweichen.
Die Klasse `QRect` stellt eine Reihe von Funktionen bereit, die die verschiedenen Koordinaten des Rechtecks zurückgeben und deren Bearbeitung ermöglichen. QRect bietet außerdem Funktionen, um das Rechteck relativ zu den verschiedenen Koordinaten zu verschieben. Darüber hinaus gibt es eine Funktion ` moveTo()`, die das Rechteck so verschiebt, dass seine obere linke Ecke an den angegebenen Koordinaten verbleibt. Alternativ verschiebt die Funktion ` translate()` das Rechteck um den angegebenen Versatz relativ zur aktuellen Position, und die Funktion ` translated()` gibt eine verschobene Kopie dieses Rechtecks zurück.
Die Funktion ` size()` gibt die Abmessungen des Rechtecks als ` QSize` zurück. Die Abmessungen können auch separat mit den Funktionen ` width()` und ` height()` abgerufen werden. Um die Abmessungen zu bearbeiten, verwenden Sie die Funktionen ` setSize()`, ` setWidth()` oder ` setHeight()`. Alternativ kann die Größe geändert werden, indem eine der Funktionen zum Festlegen der Rechteckkoordinaten angewendet wird, zum Beispiel ` setBottom()` oder ` setRight()`.
Die Funktion ` contains()` gibt an, ob sich ein gegebener Punkt innerhalb des Rechtecks befindet oder nicht, und die Funktion ` intersects()` gibt ` true ` zurück, wenn sich dieses Rechteck mit einem gegebenen Rechteck schneidet. Die Klasse `QRect` stellt außerdem die Funktion ` intersected()` bereit, die das Schnittrechteck zurückgibt, sowie die Funktion ` united()`, die das Rechteck zurückgibt, das das gegebene Rechteck und dieses Rechteck umschließt:
Die Funktion ` isEmpty()` gibt ` true ` zurück, wenn ` left()` > ` right()` oder ` top()` > ` bottom()` gilt. Beachten Sie, dass ein leeres Rechteck ungültig ist: Die Funktion ` isValid()` gibt ` true ` zurück, wenn ` left()` <= ` right() ` und ` top()` <= ` bottom()` gilt. Ein Null-Rechteck (isNull() == true) hingegen hat sowohl die Breite als auch die Höhe auf 0 gesetzt.
Beachten Sie, dass aufgrund der Definition von `QRect` und ` QRectF ` ein leeres `QRect` im Wesentlichen genauso definiert ist wie ` QRectF`.
Schließlich können QRect-Objekte sowohl gestreamt als auch verglichen werden.
Darstellung
Bei Verwendung eines „ anti-aliased “-Painters wird die Begrenzungslinie eines QRect symmetrisch zu beiden Seiten der Begrenzungslinie des mathematischen Rechtecks gerendert. Bei Verwendung eines „aliased“-Painters (Standardeinstellung) gelten jedoch andere Regeln.
Wird dann mit einem ein Pixel breiten Stift gerendert, wird die Begrenzungslinie des QRect rechts und unterhalb der Begrenzungslinie des mathematischen Rechtecks dargestellt.
Beim Rendern mit einem zwei Pixel breiten Stift wird die Begrenzungslinie in der Mitte durch das mathematische Rechteck geteilt. Dies ist immer dann der Fall, wenn der Stift auf eine gerade Pixelanzahl eingestellt ist; beim Rendern mit einem Stift mit einer ungeraden Pixelanzahl wird das zusätzliche Pixel wie im Fall von einem Pixel rechts und unterhalb des mathematischen Rechtecks gerendert.
![]() | ![]() |
| Logische Darstellung | Ein Pixel breiter Stift |
![]() | ![]() |
| Zwei Pixel breiter Stift | Drei Pixel breiter Stift |
Koordinaten
Die Klasse „QRect“ bietet eine Reihe von Funktionen, die die verschiedenen Koordinaten des Rechtecks zurückgeben und deren Bearbeitung ermöglichen. „QRect“ bietet außerdem Funktionen, um das Rechteck relativ zu den verschiedenen Koordinaten zu verschieben.
Beispielsweise die Funktionen „ left()“, „ setLeft()“ und „ moveLeft()“: „ left()“ gibt die x-Koordinate der linken Kante des Rechtecks zurück, „ setLeft() setzt die linke Kante des Rechtecks auf die angegebene x-Koordinate (dadurch kann sich die Breite ändern, die rechte Kante des Rechtecks bleibt jedoch unverändert) und moveLeft() verschiebt das gesamte Rechteck horizontal, wobei die linke Kante des Rechtecks an der angegebenen x-Koordinate verbleibt und seine Größe unverändert bleibt.

Beachten Sie, dass aus historischen Gründen die von den Funktionen „ bottom “() und „ right “() zurückgegebenen Werte von der tatsächlichen unteren rechten Ecke des Rechtecks abweichen: Die Funktion „ right “() gibt „ left “() + „ width “() - 1 zurück und die Funktion „ bottom “() gibt „top “() + „ height “() - 1 zurück. Das Gleiche gilt für den Punkt, der von der Hilfsfunktion ` bottomRight()` zurückgegeben wird. Zudem weisen die x- und y-Koordinaten der Funktionen ` topRight()` bzw. ` bottomLeft()` dieselbe Abweichung vom tatsächlichen rechten und unteren Rand auf.
Wir empfehlen, x() + width() sowie y() + height() zu verwenden, um die tatsächliche rechte untere Ecke zu ermitteln, und right() sowie bottom() zu vermeiden. Eine weitere Lösung ist die Verwendung von QRectF: Die Klasse „ QRectF “ definiert ein Rechteck in der Ebene unter Verwendung von Gleitkommagenauigkeit für die Koordinaten, und die Funktionen QRectF::right() sowie QRectF::bottom() geben tatsächlich die rechten und unteren Koordinaten zurück.
Es ist außerdem möglich, den Koordinaten dieses Rechtecks mithilfe der Funktion „ adjust()“ Versätze hinzuzufügen sowie mithilfe der Funktion „ adjusted()“ ein neues Rechteck auf der Grundlage von Anpassungen des ursprünglichen Rechtecks abzurufen. Ist entweder die Breite oder die Höhe negativ, verwenden Sie die Funktion „ normalized()“, um ein Rechteck abzurufen, bei dem die Ecken vertauscht sind.
Darüber hinaus bietet QRect die Funktion „ getCoords()“, die die Position der oberen linken und unteren rechten Ecke des Rechtecks extrahiert, sowie die Funktion „ getRect()“, die die obere linke Ecke, die Breite und die Höhe des Rechtecks extrahiert. Verwenden Sie die Funktionen „ setCoords()“ und „ setRect()“, um die Koordinaten und Abmessungen des Rechtecks in einem Schritt zu bearbeiten.
Einschränkungen
QRect ist auf die Minimal- und Maximalwerte des Typs „ int “ beschränkt. Operationen mit einem QRect, die möglicherweise zu Werten außerhalb dieses Bereichs führen könnten, haben ein undefiniertes Verhalten zur Folge.
Siehe auch „ QRectF “ und „ QRegion “.
Dokumentation der Mitgliedsfunktionen
[constexpr noexcept] QRect::QRect()
Erzeugt ein Null-Rechteck.
Siehe auch „ isNull()“.
[constexpr noexcept] QRect::QRect(const QPoint &topLeft, const QPoint &bottomRight)
Erzeugt ein Rechteck mit den angegebenen Eckpunkten „ topLeft “ und „ bottomRight “, die beide im Rechteck enthalten sind.
Liegt bottomRight höher und links von topLeft, so schließt das definierte Rechteck die Ecken nicht mit ein.
Hinweis: Um sicherzustellen, dass beide Punkte unabhängig von ihrer relativen Reihenfolge enthalten sind, verwenden Sie „ span()“.
Siehe auch setTopLeft(), setBottomRight() und span().
[constexpr noexcept] QRect::QRect(const QPoint &topLeft, const QSize &size)
Erzeugt ein Rechteck mit der angegebenen Ecke topLeft und dem angegebenen size.
Siehe auch setTopLeft() und setSize().
[constexpr noexcept] QRect::QRect(int x, int y, int width, int height)
Erzeugt ein Rechteck mit (x, y) als obere linke Ecke und den angegebenen Werten width und height.
Siehe auch setRect().
[constexpr noexcept] void QRect::adjust(int dx1, int dy1, int dx2, int dy2)
Fügt den bestehenden Koordinaten des Rechtecks jeweils dx1, dy1, dx2 und dy2 hinzu.
Siehe auch adjusted() und setRect().
[constexpr noexcept] QRect QRect::adjusted(int dx1, int dy1, int dx2, int dy2) const
Gibt ein neues Rechteck zurück, bei dem die Werte „ dx1 “, „ dy1 “, „ dx2 “ und „ dy2 “ jeweils zu den bestehenden Koordinaten dieses Rechtecks addiert wurden.
Siehe auch adjust().
[constexpr noexcept] int QRect::bottom() const
Gibt die y-Koordinate der Unterkante des Rechtecks zurück.
Beachten Sie, dass diese Funktion aus historischen Gründen top() + height() - 1 zurückgibt; verwenden Sie y() + height(), um die tatsächliche y-Koordinate abzurufen.
Siehe auch setBottom(), bottomLeft() und bottomRight().
[constexpr noexcept] QPoint QRect::bottomLeft() const
Gibt die Position der unteren linken Ecke des Rechtecks zurück. Beachten Sie, dass diese Funktion aus historischen Gründen QPoint(left(), top() + height() - 1) zurückgibt.
Siehe auch setBottomLeft(), bottom() und left().
[constexpr noexcept] QPoint QRect::bottomRight() const
Gibt die Position der rechten unteren Ecke des Rechtecks zurück.
Beachten Sie, dass diese Funktion aus historischen Gründen QPoint(left() + width() -1, top() + height() - 1) zurückgibt.
Siehe auch setBottomRight(), bottom() und right().
[constexpr noexcept] QPoint QRect::center() const
Gibt den Mittelpunkt des Rechtecks zurück.
Siehe auch „ moveCenter()“.
[noexcept] bool QRect::contains(const QPoint &point, bool proper = false) const
Gibt „ true “ zurück, wenn der angegebene „ point “ innerhalb des Rechtecks oder an dessen Rand liegt; andernfalls wird „ false “ zurückgegeben. Ist „ proper “ wahr, gibt diese Funktion nur dann „ true “ zurück, wenn der angegebene „ point “ innerhalb des Rechtecks liegt (d. h. nicht am Rand).
Siehe auch intersects().
[noexcept] bool QRect::contains(const QRect &rectangle, bool proper = false) const
Gibt „ true “ zurück, wenn sich die angegebene „ rectangle “ innerhalb dieses Rechtecks befindet. Andernfalls wird „ false “ zurückgegeben. Ist „ proper “ wahr, gibt diese Funktion nur dann „ true “ zurück, wenn sich die „ rectangle “ vollständig innerhalb dieses Rechtecks befindet (und nicht am Rand).
Dies ist eine überladene Funktion.
[noexcept] bool QRect::contains(int x, int y) const
Gibt „ true “ zurück, wenn der Punkt (x, y) innerhalb dieses Rechtecks liegt, andernfalls „ false “.
Dies ist eine überladene Funktion.
[noexcept] bool QRect::contains(int x, int y, bool proper) const
Gibt „ true “ zurück, wenn der Punkt (x, y) innerhalb des Rechtecks oder auf dessen Kante liegt; andernfalls wird „ false “ zurückgegeben. Ist „ proper “ wahr, gibt diese Funktion nur dann „ true “ zurück, wenn der Punkt vollständig innerhalb des Rechtecks liegt (und nicht auf der Kante).
Dies ist eine überladene Funktion.
[constexpr] void QRect::getCoords(int *x1, int *y1, int *x2, int *y2) const
Extrahiert die Position der oberen linken Ecke des Rechtecks in *x1 und *y1 sowie die Position der unteren rechten Ecke in *x2 und *y2.
Siehe auch setCoords() und getRect().
[constexpr] void QRect::getRect(int *x, int *y, int *width, int *height) const
Ruft die Position der oberen linken Ecke des Rechtecks unter *x und *y sowie dessen Abmessungen unter *width und *height ab.
Siehe auch setRect() und getCoords().
[constexpr noexcept] int QRect::height() const
Gibt die Höhe des Rechtecks zurück.
Siehe auch setHeight(), width() und size().
[noexcept] QRect QRect::intersected(const QRect &rectangle) const
Gibt die Schnittmenge dieses Rechtecks mit dem angegebenen „ rectangle “ zurück. Beachten Sie, dass „ r.intersected(s) “ gleichbedeutend ist mit „ r & s “.

Siehe auch intersects(), united() und operator&=().
[noexcept] bool QRect::intersects(const QRect &rectangle) const
Gibt „ true “ zurück, wenn sich dieses Rechteck mit dem angegebenen „ rectangle “ überschneidet (d. h., es gibt mindestens ein Pixel, das sich in beiden Rechtecken befindet), andernfalls wird „ false “ zurückgegeben.
Das Schnittrechteck kann mit der Funktion ` intersected()` abgerufen werden.
Siehe auch contains().
[constexpr noexcept] bool QRect::isEmpty() const
Gibt „ true “ zurück, wenn das Rechteck leer ist, andernfalls „ false “.
Ein leeres Rechteck hat einen Wert von left() > right() oder top() > bottom(). Ein leeres Rechteck ist ungültig (d. h. isEmpty() == !isValid()).
Verwenden Sie die Funktion „ normalized()“, um ein Rechteck abzurufen, bei dem die Ecken vertauscht sind.
Siehe auch „ isNull()“, „ isValid()“ und „ normalized()“.
[constexpr noexcept] bool QRect::isNull() const
Gibt „ true “ zurück, wenn es sich um ein Null-Rechteck handelt, andernfalls „ false “.
Bei einem Null-Rechteck sind sowohl die Breite als auch die Höhe auf 0 gesetzt (d. h., ` right()` == ` left()` - 1 und ` bottom()` == ` top()` - 1). Ein Null-Rechteck ist zudem leer und daher ungültig.
Siehe auch isEmpty() und isValid().
[constexpr noexcept] bool QRect::isValid() const
Gibt „ true “ zurück, wenn das Rechteck gültig ist, andernfalls „ false “.
Ein gültiges Rechteck erfüllt die Bedingungen left() <= right() und top() <= bottom(). Beachten Sie, dass nicht-triviale Operationen wie Schnittmengen für ungültige Rechtecke nicht definiert sind. Ein gültiges Rechteck ist nicht leer (d. h. isValid() == !isEmpty()).
Siehe auch isNull(), isEmpty() und normalized().
[constexpr noexcept] int QRect::left() const
Gibt die x-Koordinate der linken Kante des Rechtecks zurück. Entspricht „ x()“.
Siehe auch setLeft(), topLeft() und bottomLeft().
[constexpr noexcept] QRect QRect::marginsAdded(const QMargins &margins) const
Gibt ein Rechteck zurück, das um den Wert „ margins “ vergrößert wurde.
Siehe auch „ operator+=()“, „ marginsRemoved()“ und „ operator-=()“.
[constexpr noexcept] QRect QRect::marginsRemoved(const QMargins &margins) const
Entfernt die „ margins “ aus dem Rechteck und verkleinert es dadurch.
Siehe auch „ marginsAdded()“, „ operator+=()“ und „ operator-=()“.
[constexpr noexcept] void QRect::moveBottom(int y)
Verschiebt das Rechteck vertikal, wobei die Unterkante des Rechtecks an der angegebenen Koordinate y verbleibt. Die Größe des Rechtecks bleibt unverändert.
Siehe auch „ bottom()“, „ setBottom()“ und „ moveTop()“.
[constexpr noexcept] void QRect::moveBottomLeft(const QPoint &position)
Verschiebt das Rechteck, wobei die linke untere Ecke an der angegebenen Position position verbleibt. Die Größe des Rechtecks bleibt unverändert.
Siehe auch setBottomLeft(), moveBottom() und moveLeft().
[constexpr noexcept] void QRect::moveBottomRight(const QPoint &position)
Verschiebt das Rechteck so, dass die rechte untere Ecke an der angegebenen Position position verbleibt. Die Größe des Rechtecks bleibt unverändert.
Siehe auch setBottomRight(), moveRight() und moveBottom().
[constexpr noexcept] void QRect::moveCenter(const QPoint &position)
Verschiebt das Rechteck, wobei der Mittelpunkt an der angegebenen Position position verbleibt. Die Größe des Rechtecks bleibt unverändert.
Siehe auch center().
[constexpr noexcept] void QRect::moveLeft(int x)
Verschiebt das Rechteck horizontal, wobei der linke Rand des Rechtecks an der angegebenen Koordinate x verbleibt. Die Größe des Rechtecks bleibt unverändert.
Siehe auch „ left()“, „ setLeft()“ und „ moveRight()“.
[constexpr noexcept] void QRect::moveRight(int x)
Verschiebt das Rechteck horizontal, wobei der rechte Rand des Rechtecks an der angegebenen Koordinate „ x “ verbleibt. Die Größe des Rechtecks bleibt unverändert.
Siehe auch „ right()“, „ setRight()“ und „ moveLeft()“.
[constexpr noexcept] void QRect::moveTo(const QPoint &position)
Verschiebt das Rechteck so, dass die obere linke Ecke an der angegebenen Koordinaten position verbleibt.
[constexpr noexcept] void QRect::moveTo(int x, int y)
Verschiebt das Rechteck, wobei die obere linke Ecke an der angegebenen Position verbleibt (x, y). Die Größe des Rechtecks bleibt unverändert.
Siehe auch translate() und moveTopLeft().
[constexpr noexcept] void QRect::moveTop(int y)
Verschiebt das Rechteck vertikal, wobei die Oberkante des Rechtecks an der angegebenen Koordinate y verbleibt. Die Größe des Rechtecks bleibt unverändert.
Siehe auch „ top()“, „ setTop()“ und „ moveBottom()“.
[constexpr noexcept] void QRect::moveTopLeft(const QPoint &position)
Verschiebt das Rechteck, wobei die obere linke Ecke an der angegebenen Position position verbleibt. Die Größe des Rechtecks bleibt unverändert.
Siehe auch setTopLeft(), moveTop() und moveLeft().
[constexpr noexcept] void QRect::moveTopRight(const QPoint &position)
Verschiebt das Rechteck, wobei die obere rechte Ecke an der angegebenen Position position verbleibt. Die Größe des Rechtecks bleibt unverändert.
Siehe auch setTopRight(), moveTop() und moveRight().
[noexcept] QRect QRect::normalized() const
Gibt ein normalisiertes Rechteck zurück, d. h. ein Rechteck mit nicht-negativer Breite und Höhe.
Ist width() < 0, vertauscht die Funktion die linke und die rechte Ecke; ist height() < 0, werden die obere und die untere Ecke vertauscht. Gleichzeitig werden die Ecken von „nicht inklusiv“ auf „inklusiv“ umgestellt.
Siehe auch isValid() und isEmpty().
[constexpr noexcept] int QRect::right() const
Gibt die x-Koordinate der rechten Kante des Rechtecks zurück.
Beachten Sie, dass diese Funktion aus historischen Gründen den Wert „ left() + width() - 1“ zurückgibt; verwenden Sie „ x() + width()“, um die tatsächliche x-Koordinate abzurufen.
Siehe auch setRight(), topRight() und bottomRight().
[constexpr noexcept] void QRect::setBottom(int y)
Setzt die Unterkante des Rechtecks auf die angegebene Koordinate y. Die Höhe kann sich dabei ändern, die Oberkante des Rechtecks bleibt jedoch unverändert.
Siehe auch „ bottom()“ und „ moveBottom()“.
[constexpr noexcept] void QRect::setBottomLeft(const QPoint &position)
Setze die linke untere Ecke des Rechtecks auf die angegebene Koordinate position. Die Größe kann sich ändern, die rechte obere Ecke des Rechtecks bleibt jedoch unverändert.
Siehe auch bottomLeft() und moveBottomLeft().
[constexpr noexcept] void QRect::setBottomRight(const QPoint &position)
Setze die rechte untere Ecke des Rechtecks auf die angegebene Koordinate position. Die Größe kann sich ändern, die linke obere Ecke des Rechtecks bleibt jedoch stets unverändert.
Siehe auch bottomRight() und moveBottomRight().
[constexpr noexcept] void QRect::setCoords(int x1, int y1, int x2, int y2)
Setzt die Koordinaten der oberen linken Ecke des Rechtecks auf (x1, y1) und die Koordinaten der unteren rechten Ecke auf (x2, y2).
Siehe auch getCoords() und setRect().
[constexpr noexcept] void QRect::setHeight(int height)
Stellt die Höhe des Rechtecks auf den angegebenen Wert „ height “ ein. Die untere Kante wird geändert, die obere jedoch nicht.
Siehe auch ` height()` und ` setSize()`.
[constexpr noexcept] void QRect::setLeft(int x)
Setzt die linke Kante des Rechtecks auf die angegebene Koordinate „ x “. Die Breite kann sich dabei ändern, die rechte Kante des Rechtecks bleibt jedoch stets unverändert.
Entspricht setX().
Siehe auch „ left()“ und „ moveLeft()“.
[constexpr noexcept] void QRect::setRect(int x, int y, int width, int height)
Setzt die Koordinaten der oberen linken Ecke des Rechtecks auf (x, y) und seine Größe auf die angegebenen Werte width und height.
Siehe auch getRect() und setCoords().
[constexpr noexcept] void QRect::setRight(int x)
Setzt den rechten Rand des Rechtecks auf die angegebene Koordinate x. Die Breite kann sich dabei ändern, der linke Rand des Rechtecks bleibt jedoch unverändert.
Siehe auch „ right()“ und „ moveRight()“.
[constexpr noexcept] void QRect::setSize(const QSize &size)
Legt die Größe des Rechtecks auf den angegebenen Wert „ size “ fest. Die obere linke Ecke wird nicht verschoben.
Siehe auch size(), setWidth() und setHeight().
[constexpr noexcept] void QRect::setTop(int y)
Setzt die Oberkante des Rechtecks auf die angegebene Koordinate „ y “. Die Höhe kann sich dabei ändern, die Unterkante des Rechtecks bleibt jedoch unverändert.
Entspricht setY().
Siehe auch „ top()“ und „ moveTop()“.
[constexpr noexcept] void QRect::setTopLeft(const QPoint &position)
Die obere linke Ecke des Rechtecks wird auf die angegebene Koordinate position gesetzt. Die Größe kann sich ändern, die untere rechte Ecke des Rechtecks bleibt jedoch unverändert.
Siehe auch topLeft() und moveTopLeft().
[constexpr noexcept] void QRect::setTopRight(const QPoint &position)
Setze die obere rechte Ecke des Rechtecks auf die angegebene Koordinate position. Die Größe kann sich ändern, die untere linke Ecke des Rechtecks bleibt jedoch immer unverändert.
Siehe auch topRight() und moveTopRight().
[constexpr noexcept] void QRect::setWidth(int width)
Stellt die Breite des Rechtecks auf den angegebenen Wert „ width “ ein. Die rechte Kante wird geändert, die linke jedoch nicht.
Siehe auch width() und setSize().
[constexpr noexcept] void QRect::setX(int x)
Setzt den linken Rand des Rechtecks auf die angegebene Koordinate „ x “. Die Breite kann sich dabei ändern, der rechte Rand des Rechtecks bleibt jedoch unverändert.
Entspricht setLeft().
Siehe auch „ x()“, „ setY()“ und „ setTopLeft()“.
[constexpr noexcept] void QRect::setY(int y)
Setzt die Oberkante des Rechtecks auf die angegebene Koordinate „ y “. Die Höhe kann sich dabei ändern, die Unterkante des Rechtecks bleibt jedoch unverändert.
Entspricht „ setTop()“.
Siehe auch „ y()“, „ setX()“ und „ setTopLeft()“.
[constexpr noexcept] QSize QRect::size() const
Gibt die Größe des Rechtecks zurück.
Siehe auch „ setSize()“, „ width()“ und „ height()“.
[static constexpr noexcept, since 6.0] QRect QRect::span(const QPoint &p1, const QPoint &p2)
Gibt ein Rechteck zurück, das die beiden Punkte p1 und p2 umfasst, einschließlich dieser beiden Punkte und aller Punkte dazwischen.
Diese Funktion wurde in Qt 6.0 eingeführt.
[noexcept] CGRect QRect::toCGRect() const
Erstellt ein `CGRect` aus einem ` QRect`.
Siehe auch QRectF::fromCGRect().
[constexpr noexcept, since 6.4] QRectF QRect::toRectF() const
Gibt dieses Rechteck als Rechteck mit Gleitkommagenauigkeit zurück.
Hinweis: Diese Funktion behält, ebenso wie der Konstruktor „ QRectF “ (QRect), die „ size()“ des Rechtecks bei, nicht dessen „ bottomRight()“-Ecke.
Diese Funktion wurde in Qt 6.4 eingeführt.
Siehe auch ` QRectF::toRect()`.
[constexpr noexcept] int QRect::top() const
Gibt die y-Koordinate der Oberkante des Rechtecks zurück. Entspricht „ y()“.
Siehe auch setTop(), topLeft() und topRight().
[constexpr noexcept] QPoint QRect::topLeft() const
Gibt die Position der oberen linken Ecke des Rechtecks zurück.
Siehe auch „ setTopLeft()“, „ top()“ und „ left()“.
[constexpr noexcept] QPoint QRect::topRight() const
Gibt die Position der rechten oberen Ecke des Rechtecks zurück.
Beachten Sie, dass diese Funktion aus historischen Gründen QPoint(left() + width() -1, top()) zurückgibt.
Siehe auch setTopRight(), top() und right().
[constexpr noexcept] void QRect::translate(int dx, int dy)
Verschiebt das Rechteck um dx entlang der x-Achse und um dy entlang der y-Achse, relativ zur aktuellen Position. Positive Werte verschieben das Rechteck nach rechts und nach unten.
Siehe auch moveTopLeft(), moveTo() und translated().
[constexpr noexcept] void QRect::translate(const QPoint &offset)
Verschiebt das Rechteck „ offset “ (x()) entlang der x-Achse und „ offset “ (y()) entlang der y-Achse, relativ zur aktuellen Position.
Dies ist eine überladene Funktion.
[constexpr noexcept] QRect QRect::translated(int dx, int dy) const
Gibt eine Kopie des Rechtecks zurück, das relativ zur aktuellen Position um dx entlang der x-Achse und um dy entlang der y-Achse verschoben wurde. Positive Werte verschieben das Rechteck nach rechts und nach unten.
Siehe auch translate().
[constexpr noexcept] QRect QRect::translated(const QPoint &offset) const
Gibt eine Kopie des Rechtecks zurück, das relativ zur aktuellen Position um offset.x() entlang der x-Achse und um offset.y() entlang der y-Achse verschoben wurde.
Dies ist eine überladene Funktion.
[constexpr noexcept] QRect QRect::transposed() const
Gibt eine Kopie des Rechtecks zurück, bei der Breite und Höhe vertauscht sind:
QRect r = {15, 51, 42, 24};
r = r.transposed(); // r == {15, 51, 24, 42}Siehe auch ` QSize::transposed()`.
[noexcept] QRect QRect::united(const QRect &rectangle) const
Gibt das umschließende Rechteck dieses Rechtecks und des angegebenen rectangle zurück.

Siehe auch ` intersected()`.
[constexpr noexcept] int QRect::width() const
Gibt die Breite des Rechtecks zurück.
Siehe auch setWidth(), height() und size().
[constexpr noexcept] int QRect::x() const
Gibt die x-Koordinate der linken Kante des Rechtecks zurück. Entspricht „ left()“.
Siehe auch setX(), y() und topLeft().
[constexpr noexcept] int QRect::y() const
Gibt die y-Koordinate der Oberkante des Rechtecks zurück. Entspricht „ top()“.
Siehe auch setY(), x() und topLeft().
[noexcept] QRect QRect::operator&(const QRect &rectangle) const
Gibt die Schnittmenge dieses Rechtecks und des angegebenen „ rectangle “ zurück. Gibt ein leeres Rechteck zurück, wenn keine Schnittmenge vorliegt.
Siehe auch „ operator&=()“ und „ intersected()“.
[noexcept] QRect &QRect::operator&=(const QRect &rectangle)
Schneidet dieses Rechteck mit dem angegebenen rectangle.
Siehe auch intersected() und operator&().
[constexpr noexcept] QRect &QRect::operator+=(const QMargins &margins)
Fügt dem Rechteck das „ margins “ hinzu und vergrößert es dadurch.
Siehe auch „ marginsAdded()“, „ marginsRemoved()“ und „ operator-=()“.
[constexpr noexcept] QRect &QRect::operator-=(const QMargins &margins)
Gibt ein Rechteck zurück, das um den Wert „ margins “ verkleinert wurde.
Siehe auch „ marginsRemoved()“, „ operator+=()“ und „ marginsAdded()“.
[noexcept] QRect QRect::operator|(const QRect &rectangle) const
Gibt das umschließende Rechteck dieses Rechtecks und des angegebenen rectangle zurück.
Siehe auch ` operator|=()` und ` united()`.
[noexcept] QRect &QRect::operator|=(const QRect &rectangle)
Vereint dieses Rechteck mit dem angegebenen rectangle.
Verwandte Nicht-Mitglieder
[constexpr noexcept] bool operator!=(const QRect &lhs, const QRect &rhs)
Gibt „ true “ zurück, wenn die Rechtecke „ lhs “ und „ rhs “ unterschiedlich sind; andernfalls wird „ false “ zurückgegeben.
[constexpr noexcept] QRect operator+(const QRect &rectangle, const QMargins &margins)
Gibt die mit „ margins “ vergrößerte „ rectangle “ zurück.
[constexpr noexcept] QRect operator+(const QMargins &margins, const QRect &rectangle)
Gibt die mit margins erweiterte rectangle zurück.
Dies ist eine überladene Funktion.
[constexpr noexcept] QRect operator-(const QRect &lhs, const QMargins &rhs)
Gibt das Rechteck ` lhs ` zurück, das um die Ränder ` rhs ` verkleinert wurde.
QDataStream &operator<<(QDataStream &stream, const QRect &rectangle)
Schreibt den angegebenen „ rectangle “ in den angegebenen „ stream “ und gibt eine Referenz auf den Stream zurück.
Siehe auch „Serialisierung vonQt-Datentypen“.
[constexpr noexcept] bool operator==(const QRect &lhs, const QRect &rhs)
Gibt „ true “ zurück, wenn die Rechtecke lhs und rhs gleich sind, andernfalls gibt die Funktion „ false “ zurück.
QDataStream &operator>>(QDataStream &stream, QRect &rectangle)
Liest ein Rechteck aus dem angegebenen „ stream “ in den angegebenen „ rectangle “ 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.



