Auf dieser Seite

QPoint Class

Die Klasse „QPoint“ definiert einen Punkt in der Ebene mit ganzzahliger Genauigkeit. Mehr...

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

Hinweis: Alle Funktionen dieser Klasse sind reentrant.

QPoint-Vergleiche

KategorieVergleichbare Typen
GleichheitQPoint
GleichheitQPointF.

Öffentliche Funktionen

QPoint()
QPoint(int xpos, int ypos)
bool isNull() const
int manhattanLength() const
int &rx()
int &ry()
void setX(int x)
void setY(int y)
CGPoint toCGPoint() const
(since 6.4) QPointF toPointF() const
QPoint transposed() const
int x() const
int y() const
QPoint &operator*=(double factor)
QPoint &operator*=(float factor)
QPoint &operator*=(int factor)
QPoint &operator+=(const QPoint &point)
QPoint &operator-=(const QPoint &point)
QPoint &operator/=(qreal divisor)

Statische öffentliche Mitglieder

int dotProduct(const QPoint &p1, const QPoint &p2)
bool operator!=(const QPoint &lhs, const QPoint &rhs)
QPoint operator*(const QPoint &point, double factor)
QPoint operator*(const QPoint &point, float factor)
QPoint operator*(const QPoint &point, int factor)
QPoint operator*(double factor, const QPoint &point)
QPoint operator*(float factor, const QPoint &point)
QPoint operator*(int factor, const QPoint &point)
QPoint operator+(const QPoint &point)
QPoint operator+(const QPoint &p1, const QPoint &p2)
QPoint operator-(const QPoint &p1, const QPoint &p2)
QPoint operator-(const QPoint &point)
QPoint operator/(const QPoint &point, qreal divisor)
QDataStream &operator<<(QDataStream &stream, const QPoint &point)
bool operator==(const QPoint &lhs, const QPoint &rhs)
QDataStream &operator>>(QDataStream &stream, QPoint &point)

Detaillierte Beschreibung

Ein Punkt wird durch eine x-Koordinate und eine y-Koordinate angegeben, auf die mit den Funktionen „ x()“ und „ y()“ zugegriffen werden kann. Die Funktion „ isNull()“ gibt „ true “ zurück, wenn sowohl x als auch y auf 0 gesetzt sind. Die Koordinaten können mit den Funktionen „ setX()“ und „ setY()“ gesetzt (oder geändert) werden oder alternativ mit den Funktionen „ rx()“ und „ ry()“, die Referenzen auf die Koordinaten zurückgeben (und so eine direkte Bearbeitung ermöglichen).

Für einen gegebenen Punkt p sind die folgenden Anweisungen alle gleichbedeutend:

QPoint p;

p.setX(p.x() + 1);
p += QPoint(1, 0);
p.rx()++;

Ein `QPoint`-Objekt kann auch als Vektor verwendet werden: Addition und Subtraktion sind wie bei Vektoren definiert (jede Komponente wird separat addiert). Ein `QPoint`-Objekt kann zudem durch einen ` int ` oder einen ` qreal` dividiert oder mit diesen multipliziert werden.

Darüber hinaus stellt die Klasse „QPoint“ die Funktion „ manhattanLength()“ bereit, die eine ressourcenschonende Annäherung an die Länge des als Vektor interpretierten „QPoint“-Objekts liefert. Schließlich können „QPoint“-Objekte sowohl gestreamt als auch verglichen werden.

Siehe auch „ QPointF “ und „ QPolygon “.

Dokumentation zu den Mitgliedsfunktionen

[constexpr noexcept] QPoint::QPoint()

Erzeugt einen Nullpunkt, d. h. mit den Koordinaten (0, 0)

Siehe auch „ isNull()“.

[constexpr noexcept] QPoint::QPoint(int xpos, int ypos)

Erzeugt einen Punkt mit den angegebenen Koordinaten (xpos, ypos).

Siehe auch setX() und setY().

[static constexpr] int QPoint::dotProduct(const QPoint &p1, const QPoint &p2)

QPoint p( 3, 7);
QPoint q(-1, 4);
int dotProduct = QPoint::dotProduct(p, q);   // dotProduct becomes 25

Gibt das Skalarprodukt von p1 und p2 zurück.

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

Gibt „ true “ zurück, wenn sowohl die x- als auch die y-Koordinate auf 0 gesetzt sind, andernfalls „ false “.

[constexpr] int QPoint::manhattanLength() const

Gibt die Summe der Absolutwerte von ` x()` und ` y()` zurück, die traditionell als „Manhattan-Länge“ des Vektors vom Ursprung zum Punkt bezeichnet wird. Zum Beispiel:

QPoint oldPosition;

void MyWidget::mouseMoveEvent(QMouseEvent *event)
{
    QPoint point = event->pos() - oldPosition;
    if (point.manhattanLength() > 3){
        // the mouse has moved more than 3 pixels since the oldPosition
    }
}

Dies ist eine nützliche und schnell zu berechnende Annäherung an die tatsächliche Länge:

double trueLength = std::sqrt(std::pow(x(), 2) + std::pow(y(), 2));

Die Tradition der „Manhattan-Länge“ rührt daher, dass solche Entfernungen für Reisende gelten, die sich nur auf einem rechteckigen Raster bewegen können, wie beispielsweise auf den Straßen von Manhattan.

[constexpr noexcept] int &QPoint::rx()

Gibt eine Referenz auf die x-Koordinate dieses Punktes zurück.

Durch die Verwendung einer Referenz ist es möglich, `x` direkt zu manipulieren. Zum Beispiel:

QPoint p(1, 2);
p.rx()--;   // p becomes (0, 2)

Siehe auch x() und setX().

[constexpr noexcept] int &QPoint::ry()

Gibt eine Referenz auf die y-Koordinate dieses Punktes zurück.

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

QPoint p(1, 2);
p.ry()++;   // p becomes (1, 3)

Siehe auch y() und setY().

[constexpr noexcept] void QPoint::setX(int x)

Setzt die x-Koordinate dieses Punktes auf die angegebene x -Koordinate.

Siehe auch x() und setY().

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

Setzt die y-Koordinate dieses Punktes auf die angegebene y -Koordinate.

Siehe auch y() und setX().

[noexcept] CGPoint QPoint::toCGPoint() const

Erstellt einen CGPoint aus einem „ QPoint “.

Siehe auch QPointF::fromCGPoint().

[constexpr noexcept, since 6.4] QPointF QPoint::toPointF() const

Gibt diesen Punkt als Punkt mit Gleitkommagenauigkeit zurück.

Diese Funktion wurde in Qt 6.4 eingeführt.

Siehe auch „ QPointF::toPoint()“.

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

Gibt einen Punkt zurück, bei dem die x- und y-Koordinaten vertauscht sind:

QPoint{1, 2}.transposed() // {2, 1}

Siehe auch x(), y(), setX() und setY().

[constexpr noexcept] int QPoint::x() const

Gibt die x-Koordinate dieses Punktes zurück.

Siehe auch setX() und rx().

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

Gibt die y-Koordinate dieses Punktes zurück.

Siehe auch setY() und ry().

[constexpr] QPoint &QPoint::operator*=(double factor)

Multipliziert die Koordinaten dieses Punktes mit dem angegebenen Wert „ factor “ und gibt eine Referenz auf diesen Punkt zurück. Beispiel:

QPoint p(-1, 4);
p *= 2.5;    // p becomes (-3, 10)

Beachten Sie, dass das Ergebnis auf die nächste ganze Zahl gerundet wird, da Punkte als Ganzzahlen gespeichert werden. Verwenden Sie ` QPointF ` für Gleitkommagenauigkeit.

Siehe auch ` operator/=()`.

[constexpr] QPoint &QPoint::operator*=(float factor)

Multipliziert die Koordinaten dieses Punktes mit dem angegebenen factor und gibt eine Referenz auf diesen Punkt zurück.

Beachten Sie, dass das Ergebnis auf die nächste ganze Zahl gerundet wird, da Punkte als Ganzzahlen gespeichert werden. Verwenden Sie ` QPointF ` für Gleitkommagenauigkeit.

Siehe auch ` operator/=()`.

[constexpr] QPoint &QPoint::operator*=(int factor)

Multipliziert die Koordinaten dieses Punktes mit dem angegebenen Wert „ factor “ und gibt eine Referenz auf diesen Punkt zurück.

Siehe auch ` operator/=()`.

[constexpr] QPoint &QPoint::operator+=(const QPoint &point)

Fügt die angegebene ` point ` zu diesem Punkt hinzu und gibt eine Referenz auf diesen Punkt zurück. Zum Beispiel:

QPoint p( 3, 7);
QPoint q(-1, 4);
p += q;    // p becomes (2, 11)

Siehe auch ` operator-=()`.

[constexpr] QPoint &QPoint::operator-=(const QPoint &point)

Subtrahiert den angegebenen point von diesem Punkt und gibt eine Referenz auf diesen Punkt zurück. Beispiel:

QPoint p( 3, 7);
QPoint q(-1, 4);
p -= q;    // p becomes (4, 3)

Siehe auch ` operator+=()`.

[constexpr] QPoint &QPoint::operator/=(qreal divisor)

Teilt sowohl x als auch y durch den angegebenen Wert divisor und gibt eine Referenz auf diesen Punkt zurück. Beispiel:

QPoint p(-3, 10);
p /= 2.5;           // p becomes (-1, 4)

Beachten Sie, dass das Ergebnis auf die nächste ganze Zahl gerundet wird, da Punkte als Ganzzahlen gespeichert werden. Verwenden Sie ` QPointF ` für Gleitkommagenauigkeit.

Siehe auch ` operator*=()`.

Verwandte Nicht-Mitglieder

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

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

[constexpr] QPoint operator*(const QPoint &point, double factor)

Gibt eine Kopie des angegebenen ` point ` zurück, multipliziert mit dem angegebenen ` factor`.

Beachten Sie, dass das Ergebnis auf die nächste ganze Zahl gerundet wird, da Punkte als Ganzzahlen gespeichert werden. Verwenden Sie „ QPointF “ für Gleitkommagenauigkeit.

Siehe auch ` QPoint::operator*=()`.

[constexpr] QPoint operator*(const QPoint &point, float factor)

Gibt eine Kopie des angegebenen ` point ` zurück, multipliziert mit dem angegebenen ` factor`.

Beachten Sie, dass das Ergebnis auf die nächste Ganzzahl gerundet wird, da Punkte als Ganzzahlen gespeichert werden. Verwenden Sie „ QPointF “, um Gleitkommagenauigkeit zu erzielen.

Siehe auch ` QPoint::operator*=()`.

[constexpr noexcept] QPoint operator*(const QPoint &point, int factor)

Gibt eine Kopie des angegebenen ` point ` zurück, multipliziert mit dem angegebenen ` factor`.

Siehe auch QPoint::operator*=().

[constexpr] QPoint operator*(double factor, const QPoint &point)

Gibt eine Kopie des angegebenen ` point ` zurück, multipliziert mit dem angegebenen ` factor`.

Beachten Sie, dass das Ergebnis auf die nächste ganze Zahl gerundet wird, da Punkte als Ganzzahlen gespeichert werden. Verwenden Sie „ QPointF “ für Gleitkommagenauigkeit.

Dies ist eine überladene Funktion.

Siehe auch ` QPoint::operator*=()`.

[constexpr] QPoint operator*(float factor, const QPoint &point)

Gibt eine Kopie des angegebenen ` point ` zurück, multipliziert mit dem angegebenen ` factor`.

Beachten Sie, dass das Ergebnis auf die nächste ganze Zahl gerundet wird, da Punkte als Ganzzahlen gespeichert werden. Verwenden Sie „ QPointF “ für Gleitkommagenauigkeit.

Dies ist eine überladene Funktion.

Siehe auch ` QPoint::operator*=()`.

[constexpr noexcept] QPoint operator*(int factor, const QPoint &point)

Gibt eine Kopie des angegebenen ` point ` zurück, multipliziert mit dem angegebenen ` factor`.

Dies ist eine überladene Funktion.

Siehe auch ` QPoint::operator*=()`.

[constexpr noexcept] QPoint operator+(const QPoint &point)

Gibt „ point “ unverändert zurück.

[constexpr noexcept] QPoint operator+(const QPoint &p1, const QPoint &p2)

Gibt ein „ QPoint “-Objekt zurück, das die Summe der angegebenen Punkte „ p1 “ und „ p2 “ darstellt; jede Komponente wird separat addiert.

Siehe auch ` QPoint::operator+=()`.

[constexpr noexcept] QPoint operator-(const QPoint &p1, const QPoint &p2)

Gibt ein „ QPoint “-Objekt zurück, das durch Subtraktion von p2 von p1 gebildet wird; dabei wird jede Komponente separat subtrahiert.

Siehe auch ` QPoint::operator-=()`.

[constexpr noexcept] QPoint operator-(const QPoint &point)

Gibt ein ` QPoint `-Objekt zurück, das durch Umkehrung des Vorzeichens beider Komponenten des angegebenen ` point` gebildet wird.

Entspricht ` QPoint(0,0) - point`.

Dies ist eine überladene Funktion.

[constexpr] QPoint operator/(const QPoint &point, qreal divisor)

Gibt den „ QPoint “ zurück, der durch Division beider Komponenten des angegebenen „ point “ durch den angegebenen „ divisor “ gebildet wird.

Beachten Sie, dass das Ergebnis auf die nächste ganze Zahl gerundet wird, da Punkte als Ganzzahlen gespeichert werden. Verwenden Sie „ QPointF “ für Gleitkommagenauigkeit.

Siehe auch QPoint::operator/=().

QDataStream &operator<<(QDataStream &stream, const QPoint &point)

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

Siehe auch „Serialisierung vonQt-Datentypen“.

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

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

QDataStream &operator>>(QDataStream &stream, QPoint &point)

Liest einen Punkt aus dem angegebenen „ stream “ in den angegebenen „ point “ 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.