QRect Class

Die Klasse QRect definiert ein Rechteck in der Ebene mit ganzzahliger Genauigkeit. Mehr...

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

Diese Klasse ist gleichsetzbar.

Diese Klasse ist gleichsetzbar mit QRectF.

Hinweis: Alle Funktionen in dieser Klasse sind reentrant.

Ö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)
bool operator!=(const QRect &lhs, const QRect &rhs)
QRect operator+(const QMargins &margins, const QRect &rectangle)
QRect operator+(const QRect &rectangle, const QMargins &margins)
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)

Detaillierte Beschreibung

Ein Rechteck wird normalerweise durch eine obere linke Ecke und eine Größe ausgedrückt. Die Größe (Breite und Höhe) eines QRects entspricht immer dem mathematischen Rechteck, das die Grundlage für seine Darstellung bildet.

Ein QRect kann aus einem Satz von Ganzzahlen für links, oben, Breite und Höhe oder aus QPoint und QSize erstellt werden. Der folgende Code erzeugt zwei identische Rechtecke.

QRect r1(100, 200, 11, 16);
QRect r2(QPoint(100, 200), QSize(11, 16));

Es gibt einen dritten Konstruktor, der ein QRect mit den Koordinaten oben links und unten rechts erstellt, aber wir empfehlen, ihn nicht zu verwenden. Der Grund dafür ist, dass die von den Funktionen bottom() und right() zurückgegebenen Werte aus historischen Gründen von der tatsächlichen rechten unteren Ecke des Rechtecks abweichen.

Die Klasse QRect bietet eine Sammlung von Funktionen, die die verschiedenen Rechteckkoordinaten zurückgeben und deren Manipulation ermöglichen. QRect bietet auch Funktionen zum Verschieben des Rechtecks relativ zu den verschiedenen Koordinaten. Außerdem gibt es die Funktion moveTo(), die das Rechteck so verschiebt, dass seine linke obere Ecke an den angegebenen Koordinaten bleibt. Alternativ dazu verschiebt die Funktion translate() das Rechteck um den angegebenen Offset relativ zur aktuellen Position, und die Funktion translated() gibt eine übersetzte 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 ändern, verwenden Sie die Funktionen setSize(), setWidth() oder setHeight(). Alternativ kann die Größe auch durch Anwendung einer der Funktionen geändert werden, die die Rechteckkoordinaten festlegen, z. B. setBottom() oder setRight().

Die Funktion contains() gibt an, ob ein bestimmter Punkt innerhalb des Rechtecks liegt oder nicht, und die Funktion intersects() gibt true zurück, wenn dieses Rechteck ein bestimmtes Rechteck schneidet. Die Klasse QRect bietet auch die Funktion intersected(), die das Schnittpunkt-Rechteck zurückgibt, und die Funktion united(), die das Rechteck zurückgibt, das das gegebene Rechteck und dieses umschließt:

Die Funktion isEmpty() gibt true zurück, wenn left() > right() oder top() > bottom(). Beachten Sie, dass ein leeres Rechteck nicht gültig ist: Die Funktion isValid() gibt true zurück, wenn left() <= right() und top() <= bottom(). Bei einem leeren Rechteck (isNull() == true) hingegen werden sowohl Breite als auch Höhe auf 0 gesetzt.

Beachten Sie, dass aufgrund der Art und Weise, wie QRect und QRectF definiert sind, ein leeres QRect im Wesentlichen auf die gleiche Weise definiert ist wie QRectF.

Schließlich können QRect-Objekte sowohl gestreamt als auch verglichen werden.

Rendering

Bei Verwendung eines anti-aliased Painters wird die Begrenzungslinie eines QRects symmetrisch auf beiden Seiten der Begrenzungslinie des mathematischen Rechtecks gerendert. Bei Verwendung eines Aliased Painters (Standard) gelten jedoch andere Regeln.

Dann wird beim Rendern mit einem ein Pixel breiten Stift die Begrenzungslinie des QRects nach rechts und unterhalb der Begrenzungslinie des mathematischen Rechtecks gerendert.

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 Anzahl von Pixeln eingestellt ist, während beim Rendern mit einem Stift mit einer ungeraden Anzahl von Pixeln das Ersatzpixel rechts und unterhalb des mathematischen Rechtecks gerendert wird, wie im Fall von einem Pixel.

Logische DarstellungEin Pixel breiter Stift
Stift mit zwei Pixeln BreiteDrei Pixel breiter Stift

Koordinaten

Die Klasse QRect bietet eine Sammlung von Funktionen, die die verschiedenen Rechteckkoordinaten zurückgeben und deren Manipulation ermöglichen. QRect bietet auch Funktionen zum Verschieben des Rechtecks relativ zu den verschiedenen Koordinaten.

Als Beispiel seien die Funktionen left(), setLeft() und moveLeft() genannt: left() gibt die x-Koordinate der linken Kante des Rechtecks zurück, setLeft() setzt die linke Kante des Rechtecks auf die angegebene x-Koordinate (sie kann die Breite ändern, wird aber niemals die rechte Kante des Rechtecks ändern) und moveLeft() verschiebt das gesamte Rechteck horizontal, wobei die linke Kante des Rechtecks an der angegebenen x-Koordinate bleibt 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 rechten unteren Ecke des Rechtecks abweichen: Die Funktion right() liefert left( ) + width() - 1 und die Funktion bottom() liefert top( ) + height() - 1. Das Gleiche gilt für den Punkt, der von der Komfortfunktion bottomRight() zurückgegeben wird. Außerdem enthalten die x- und y-Koordinaten der Funktionen topRight() und bottomLeft() jeweils die gleiche Abweichung vom wahren rechten und unteren Rand.

Wir empfehlen Ihnen, x() + width() und y() + height() zu verwenden, um die wahre rechte untere Ecke zu finden, und right() und bottom() zu vermeiden. Eine andere Lösung ist die Verwendung von QRectF: Die Klasse QRectF definiert ein Rechteck in der Ebene mit Fließkommagenauigkeit für die Koordinaten, und die Funktionen QRectF::right() und QRectF::bottom() geben die rechten und unteren Koordinaten zurück.

Es ist auch möglich, die Koordinaten dieses Rechtecks mit der Funktion adjust() zu versetzen und mit der Funktion adjusted() ein neues Rechteck auf der Grundlage von Anpassungen des ursprünglichen Rechtecks zu erstellen. Wenn die Breite oder die Höhe negativ ist, können Sie mit der Funktion normalized() ein Rechteck abrufen, bei dem die Ecken vertauscht sind.

Zusätzlich bietet QRect die Funktion getCoords(), die die Position der linken oberen und rechten unteren Ecke des Rechtecks extrahiert, und die Funktion getRect(), die die linke obere 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.

Beschränkungen

QRect ist auf die minimalen und maximalen Werte für den Typ int beschränkt. Operationen mit einem QRect, die möglicherweise zu Werten außerhalb dieses Bereichs führen, führen zu undefiniertem Verhalten.

Siehe auch QRectF und QRegion.

Dokumentation der Mitgliedsfunktionen

[constexpr noexcept] QRect::QRect()

Konstruiert ein Null-Rechteck.

Siehe auch isNull().

[constexpr noexcept] QRect::QRect(const QPoint &topLeft, const QPoint &bottomRight)

Konstruiert ein Rechteck mit den angegebenen Ecken topLeft und bottomRight, die beide eingeschlossen sind.

Wenn bottomRight höher und links von topLeft liegt, ist das definierte Rechteck stattdessen nicht inklusive der Ecken.

Hinweis: Um sicherzustellen, dass beide Punkte unabhängig von der relativen Reihenfolge eingeschlossen werden, verwenden Sie span().

Siehe auch setTopLeft(), setBottomRight(), und span().

[constexpr noexcept] QRect::QRect(const QPoint &topLeft, const QSize &size)

Konstruiert ein Rechteck mit der angegebenen topLeft Ecke und der angegebenen size.

Siehe auch setTopLeft() und setSize().

[constexpr noexcept] QRect::QRect(int x, int y, int width, int height)

Konstruiert ein Rechteck mit (x, y) als oberer linker Ecke und den angegebenen width und height.

Siehe auch setRect().

[constexpr noexcept] void QRect::adjust(int dx1, int dy1, int dx2, int dy2)

Fügt dx1, dy1, dx2 bzw. dy2 zu den vorhandenen Koordinaten des Rechtecks 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 dx1, dy1, dx2 und dy2 jeweils zu den vorhandenen Koordinaten dieses Rechtecks hinzugefügt werden.

Siehe auch adjust().

[constexpr noexcept] int QRect::bottom() const

Gibt die y-Koordinate der unteren Kante des Rechtecks zurück.

Beachten Sie, dass diese Funktion aus historischen Gründen top() + height() - 1 zurückgibt; verwenden Sie y() + height(), um die wahre y-Koordinate zu erhalten.

Siehe auch setBottom(), bottomLeft(), und bottomRight().

[constexpr noexcept] QPoint QRect::bottomLeft() const

Gibt die Position der linken unteren 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 oder auf dem Rand des Rechtecks liegt, andernfalls false. Wenn proper wahr ist, gibt diese Funktion nur true zurück, wenn die angegebene point innerhalb des Rechtecks liegt (d. h. nicht auf dem Rand).

Siehe auch intersects().

[noexcept] bool QRect::contains(const QRect &rectangle, bool proper = false) const

Dies ist eine überladene Funktion.

Gibt true zurück, wenn der angegebene rectangle innerhalb dieses Rechtecks liegt. andernfalls gibt sie false zurück. Wenn proper wahr ist, gibt diese Funktion nur true zurück, wenn sich rectangle vollständig innerhalb dieses Rechtecks befindet (nicht am Rand).

[noexcept] bool QRect::contains(int x, int y) const

Dies ist eine überladene Funktion.

Gibt true zurück, wenn der Punkt (x, y) innerhalb dieses Rechtecks liegt, andernfalls gibt sie false zurück.

[noexcept] bool QRect::contains(int x, int y, bool proper) const

Dies ist eine überladene Funktion.

Gibt true zurück, wenn der Punkt (x, y) innerhalb oder auf dem Rand des Rechtecks liegt, andernfalls gibt sie false zurück. Wenn proper wahr ist, gibt diese Funktion nur true zurück, wenn der Punkt vollständig innerhalb des Rechtecks liegt (nicht auf dem Rand).

[constexpr] void QRect::getCoords(int *x1, int *y1, int *x2, int *y2) const

Extrahiert die Position der linken oberen Ecke des Rechtecks nach *x1 und *y1, und die Position der rechten unteren Ecke nach *x2 und *y2.

Siehe auch setCoords() und getRect().

[constexpr] void QRect::getRect(int *x, int *y, int *width, int *height) const

Extrahiert die Position der linken oberen Ecke des Rechtecks nach *x und *y und seine Abmessungen nach *width und *height.

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) äquivalent zu r & s ist.

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 schneidet (d. h. es gibt mindestens ein Pixel, das innerhalb beider Rechtecke liegt), andernfalls false.

Das Schnittpunkt-Rechteck 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 gibt es false zurück.

Ein leeres Rechteck hat ein left() > right() oder top() > bottom(). Ein leeres Rechteck ist nicht gültig (d. h. isEmpty() == !isValid()).

Verwenden Sie die Funktion normalized(), um ein Rechteck zu erhalten, bei dem die Ecken vertauscht sind.

Siehe auch isNull(), isValid(), und normalized().

[constexpr noexcept] bool QRect::isNull() const

Gibt true zurück, wenn das Rechteck ein Null-Rechteck ist, andernfalls wird false zurückgegeben.

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 ebenfalls leer und daher nicht gültig.

Siehe auch isEmpty() und isValid().

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

Gibt true zurück, wenn das Rechteck gültig ist, andernfalls wird false zurückgegeben.

Ein gültiges Rechteck hat ein left() <= right() und top() <= bottom(). Beachten Sie, dass nicht-triviale Operationen wie Schnittpunkte 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. Äquivalent zu x().

Siehe auch setLeft(), topLeft(), und bottomLeft().

[constexpr noexcept] QRect QRect::marginsAdded(const QMargins &margins) const

Gibt ein Rechteck zurück, das durch margins vergrößert wurde.

Siehe auch operator+=(), marginsRemoved(), und operator-=().

[constexpr noexcept] QRect QRect::marginsRemoved(const QMargins &margins) const

Entfernt das margins aus dem Rechteck und verkleinert es.

Siehe auch marginsAdded(), operator+=(), und operator-=().

[constexpr noexcept] void QRect::moveBottom(int y)

Verschiebt das Rechteck vertikal, wobei der untere Rand 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 bleibt. 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, wobei die rechte untere Ecke an der angegebenen position bleibt. 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 auf dem angegebenen position bleibt. 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, wobei die linke obere Ecke an der angegebenen position bleibt.

[constexpr noexcept] void QRect::moveTo(int x, int y)

Verschiebt das Rechteck, wobei die linke obere Ecke an der angegebenen Position bleibt (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 obere Kante des Rechtecks an der angegebenen Koordinate y bleibt. 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 linke obere Ecke an der angegebenen position bleibt. 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 rechte obere Ecke an der angegebenen position bleibt. 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, das eine nicht-negative Breite und Höhe hat.

Wenn width() < 0 ist, vertauscht die Funktion die linke und die rechte Ecke, und sie vertauscht die obere und die untere Ecke, wenn height() < 0. Die Ecken werden gleichzeitig von nicht-inklusiv zu inklusiv geändert.

Siehe auch isValid() und isEmpty().

Gibt die x-Koordinate der rechten Kante des Rechtecks zurück.

Beachten Sie, dass diese Funktion aus historischen Gründen left() + width() - 1 zurückgibt; verwenden Sie x() + width(), um die wahre x-Koordinate zu erhalten.

Siehe auch setRight(), topRight(), und bottomRight().

[constexpr noexcept] void QRect::setBottom(int y)

Setzt den unteren Rand des Rechtecks auf die angegebene Koordinate y. Kann die Höhe ändern, ändert aber nie den oberen Rand des Rechtecks.

Siehe auch bottom() und moveBottom().

[constexpr noexcept] void QRect::setBottomLeft(const QPoint &position)

Setzt die untere linke Ecke des Rechtecks auf die angegebene position. Kann die Größe ändern, ändert aber nie die obere rechte Ecke des Rechtecks.

Siehe auch bottomLeft() und moveBottomLeft().

[constexpr noexcept] void QRect::setBottomRight(const QPoint &position)

Setzt die rechte untere Ecke des Rechtecks auf die angegebene position. Kann die Größe ändern, ändert aber nie die linke obere Ecke des Rechtecks.

Siehe auch bottomRight() und moveBottomRight().

[constexpr noexcept] void QRect::setCoords(int x1, int y1, int x2, int y2)

Setzt die Koordinaten der linken oberen Ecke des Rechtecks auf (x1, y1), und die Koordinaten der rechten unteren Ecke auf (x2, y2).

Siehe auch getCoords() und setRect().

[constexpr noexcept] void QRect::setHeight(int height)

Setzt die Höhe des Rechtecks auf den angegebenen Wert height. Der untere Rand wird geändert, der obere jedoch nicht.

Siehe auch height() und setSize().

[constexpr noexcept] void QRect::setLeft(int x)

Setzt den linken Rand des Rechtecks auf die angegebene Koordinate x. Kann die Breite ändern, wird aber nie den rechten Rand des Rechtecks ändern.

Äquivalent zu setX().

Siehe auch left() und moveLeft().

[constexpr noexcept] void QRect::setRect(int x, int y, int width, int height)

Setzt die Koordinaten der linken oberen Ecke des Rechtecks auf (x, y), und seine Größe auf die angegebenen 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. Kann die Breite ändern, ändert aber nie den linken Rand des Rechtecks.

Siehe auch right() und moveRight().

[constexpr noexcept] void QRect::setSize(const QSize &size)

Setzt die Größe des Rechtecks auf die angegebene size. Die linke obere Ecke wird nicht verschoben.

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

[constexpr noexcept] void QRect::setTop(int y)

Setzt den oberen Rand des Rechtecks auf die angegebene Koordinate y. Kann die Höhe ändern, ändert aber nie den unteren Rand des Rechtecks.

Äquivalent zu setY().

Siehe auch top() und moveTop().

[constexpr noexcept] void QRect::setTopLeft(const QPoint &position)

Setzt die linke obere Ecke des Rechtecks auf die angegebene position. Kann die Größe ändern, ändert aber nie die untere rechte Ecke des Rechtecks.

Siehe auch topLeft() und moveTopLeft().

[constexpr noexcept] void QRect::setTopRight(const QPoint &position)

Setzt die rechte obere Ecke des Rechtecks auf die angegebene position. Kann die Größe ändern, wird aber nie die linke untere Ecke des Rechtecks ändern.

Siehe auch topRight() und moveTopRight().

[constexpr noexcept] void QRect::setWidth(int width)

Setzt die Breite des Rechtecks auf den angegebenen Wert width. Der rechte Rand wird geändert, der 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. Kann die Breite ändern, wird aber nie den rechten Rand des Rechtecks ändern.

Äquivalent zu setLeft().

Siehe auch x(), setY(), und setTopLeft().

[constexpr noexcept] void QRect::setY(int y)

Setzt den oberen Rand des Rechtecks auf die angegebene Koordinate y. Kann die Höhe ändern, ändert aber nie den unteren Rand des Rechtecks.

Äquivalent zu 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 aufspannt, einschließlich beider Punkte und allem, was dazwischen liegt.

Diese Funktion wurde in Qt 6.0 eingeführt.

[noexcept] CGRect QRect::toCGRect() const

Erzeugt einen CGRect aus einem QRect.

Siehe auch QRectF::fromCGRect().

[constexpr noexcept, since 6.4] QRectF QRect::toRectF() const

Gibt dieses Rechteck als Rechteck mit Fließkommagenauigkeit zurück.

Hinweis: Diese Funktion, wie auch der QRectF(QRect) Konstruktor, bewahrt die size() des Rechtecks, nicht seine 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 oberen Kante des Rechtecks zurück. Äquivalent zu y().

Siehe auch setTop(), topLeft(), und topRight().

[constexpr noexcept] QPoint QRect::topLeft() const

Gibt die Position der linken oberen Ecke des Rechtecks zurück.

Siehe auch setTopLeft(), top(), und left().

[constexpr noexcept] QPoint QRect::topRight() const

Gibt die Position der oberen rechten 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 dx entlang der x-Achse und dy entlang der y-Achse, relativ zur aktuellen Position. Positive Werte verschieben das Rechteck nach rechts und unten.

Siehe auch moveTopLeft(), moveTo(), und translated().

[constexpr noexcept] void QRect::translate(const QPoint &offset)

Dies ist eine überladene Funktion.

Verschiebt das Rechteck offset.x() entlang der x-Achse und offset.y() entlang der y-Achse, relativ zur aktuellen Position.

[constexpr noexcept] QRect QRect::translated(int dx, int dy) const

Gibt eine Kopie des Rechtecks zurück, die relativ zur aktuellen Position um dx entlang der x-Achse und dy entlang der y-Achse verschoben wird. Positive Werte verschieben das Rechteck nach rechts und unten.

Siehe auch translate().

[constexpr noexcept] QRect QRect::translated(const QPoint &offset) const

Dies ist eine überladene Funktion.

Gibt eine Kopie des Rechtecks zurück, die offset.x() entlang der x-Achse und offset.y() entlang der y-Achse relativ zur aktuellen Position verschoben wird.

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

Gibt eine Kopie des Rechtecks zurück, bei der Breite und Höhe ausgetauscht wurden:

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

Liefert das Begrenzungsrechteck dieses Rechtecks und das angegebene rectangle.

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. Äquivalent zu left().

Siehe auch setX(), y(), und topLeft().

[constexpr noexcept] int QRect::y() const

Gibt die y-Koordinate der oberen Kante des Rechtecks zurück. Äquivalent zu top().

Siehe auch setY(), x(), und topLeft().

[noexcept] QRect QRect::operator&(const QRect &rectangle) const

Gibt den Schnittpunkt dieses Rechtecks mit dem angegebenen rectangle zurück. Gibt ein leeres Rechteck zurück, wenn es keinen Schnittpunkt gibt.

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 das margins zum Rechteck hinzu und vergrößert es.

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

Liefert das Begrenzungsrechteck dieses Rechtecks und das angegebene rectangle.

Siehe auch operator|=() und united().

[noexcept] QRect &QRect::operator|=(const QRect &rectangle)

Vereinigt dieses Rechteck mit dem angegebenen rectangle.

Siehe auch united() und operator|().

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, ansonsten false.

[constexpr noexcept] QRect operator+(const QMargins &margins, const QRect &rectangle)

Dies ist eine überladene Funktion.

Gibt die rectangle zurück, die durch die margins gewachsen ist.

[constexpr noexcept] QRect operator+(const QRect &rectangle, const QMargins &margins)

Gibt die rectangle zurück, die durch die margins gewachsen ist.

[constexpr noexcept] QRect operator-(const QRect &lhs, const QMargins &rhs)

Gibt das Rechteck lhs zurück, das um die Ränder von 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 von Qt-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 es false zurück.

QDataStream &operator>>(QDataStream &stream, QRect &rectangle)

Liest ein Rechteck aus dem angegebenen stream in den angegebenen rectangle 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.