QPoint Class
Die Klasse QPoint definiert einen Punkt in der Ebene mit ganzzahliger Genauigkeit. Mehr...
Kopfzeile: | #include <QPoint> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QPoint ist Teil von Painting Classes.
Diese Klasse ist gleichwertig-vergleichbar.
Diese Klasse ist gleichsetzbar mit QPointF.
Hinweis: Alle Funktionen in dieser Klasse sind reentrant.
Ö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) |
Verwandte Nicht-Mitglieder
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 (was eine direkte Manipulation ermöglicht).
In Bezug auf einen Punkt p sind die folgenden Anweisungen alle äquivalent:
Ein QPoint-Objekt kann auch als Vektor verwendet werden: Addition und Subtraktion sind wie bei Vektoren definiert (jede Komponente wird einzeln addiert). Ein QPoint-Objekt kann auch durch ein int
oder ein qreal
dividiert oder multipliziert werden.
Darüber hinaus bietet die QPoint-Klasse die Funktion manhattanLength(), die eine kostengünstige 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 der Mitgliedsfunktionen
[constexpr noexcept]
QPoint::QPoint()
Konstruiert einen Nullpunkt, d. h. mit den Koordinaten (0, 0)
Siehe auch isNull().
[constexpr noexcept]
QPoint::QPoint(int xpos, int ypos)
Konstruiert einen Punkt mit den angegebenen Koordinaten (xpos, ypos).
[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 Punktprodukt von p1 und p2 zurück.
[constexpr noexcept]
bool QPoint::isNull() const
Gibt true
zurück, wenn sowohl die x- als auch die y-Koordinaten auf 0 gesetzt sind, andernfalls false
.
[constexpr]
int QPoint::manhattanLength() const
Gibt die Summe der absoluten Werte von x() und y() zurück, traditionell bekannt als die "Manhattan-Länge" des Vektors vom Ursprung zum Punkt. Ein Beispiel:
QPoint oldPosition; 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 ein nützlicher und schnell zu berechnender Näherungswert für die wahre 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 Gitter bewegen können, wie die Straßen von Manhattan.
[constexpr noexcept]
int &QPoint::rx()
Gibt eine Referenz auf die x-Koordinate dieses Punktes zurück.
Die Verwendung eines Verweises ermöglicht eine direkte Manipulation von x. Zum Beispiel:
QPoint p(1, 2); p.rx()--; // p becomes (0, 2)
[constexpr noexcept]
int &QPoint::ry()
Gibt eine Referenz auf die y-Koordinate dieses Punktes zurück.
Die Verwendung eines Verweises ermöglicht eine direkte Manipulation von y. Zum Beispiel:
QPoint p(1, 2); p.ry()++; // p becomes (1, 3)
[constexpr noexcept]
void QPoint::setX(int x)
Setzt die x-Koordinate dieses Punktes auf die angegebene x Koordinate.
[constexpr noexcept]
void QPoint::setY(int y)
Setzt die y-Koordinate dieses Punktes auf die angegebene y Koordinate.
[noexcept]
CGPoint QPoint::toCGPoint() const
Erzeugt einen CGPoint aus einem QPoint.
Siehe auch QPointF::fromCGPoint().
[constexpr noexcept, since 6.4]
QPointF QPoint::toPointF() const
Gibt diesen Punkt als Punkt mit Fließkommagenauigkeit zurück.
Diese Funktion wurde in Qt 6.4 eingeführt.
Siehe auch QPointF::toPoint().
[constexpr noexcept]
QPoint QPoint::transposed() const
Gibt einen Punkt mit ausgetauschten x- und y-Koordinaten zurück:
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.
[constexpr noexcept]
int QPoint::y() const
Gibt die y-Koordinate dieses Punktes zurück.
[constexpr]
QPoint &QPoint::operator*=(double factor)
Multipliziert die Koordinaten dieses Punktes mit dem angegebenen factor und gibt einen Verweis auf diesen Punkt zurück. Ein Beispiel:
QPoint p(-1, 4); p *= 2.5; // p becomes (-3, 10)
Beachten Sie, dass das Ergebnis auf die nächste Ganzzahl gerundet wird, da die Punkte als Ganzzahlen gespeichert werden. Verwenden Sie QPointF für Fließkommagenauigkeit.
Siehe auch operator/=().
[constexpr]
QPoint &QPoint::operator*=(float factor)
Multipliziert die Koordinaten dieses Punktes mit dem angegebenen factor und gibt einen Verweis auf diesen Punkt zurück.
Beachten Sie, dass das Ergebnis auf die nächste Ganzzahl gerundet wird, da Punkte als Ganzzahlen gespeichert werden. Verwenden Sie QPointF für Fließkommagenauigkeit.
Siehe auch operator/=().
[constexpr]
QPoint &QPoint::operator*=(int factor)
Multipliziert die Koordinaten dieses Punktes mit dem angegebenen factor und gibt einen Verweis auf diesen Punkt zurück.
Siehe auch operator/=().
[constexpr]
QPoint &QPoint::operator+=(const QPoint &point)
Fügt den angegebenen point zu diesem Punkt hinzu und gibt einen Verweis auf diesen Punkt zurück. Zum Beispiel:
Siehe auch operator-=().
[constexpr]
QPoint &QPoint::operator-=(const QPoint &point)
Subtrahiert den angegebenen point von diesem Punkt und gibt einen Verweis auf diesen Punkt zurück. Zum Beispiel:
Siehe auch operator+=().
[constexpr]
QPoint &QPoint::operator/=(qreal divisor)
Dies ist eine überladene Funktion.
Teilt sowohl x als auch y durch den angegebenen divisor und gibt einen Verweis auf diesen Punkt zurück. Ein Beispiel:
QPoint p(-3, 10); p /= 2.5; // p becomes (-1, 4)
Beachten Sie, dass das Ergebnis auf die nächste Ganzzahl gerundet wird, da die Punkte als Ganzzahlen gehalten werden. Verwenden Sie QPointF für Fließkommagenauigkeit.
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 multipliziert mit dem angegebenen factor zurück.
Beachten Sie, dass das Ergebnis auf die nächste Ganzzahl gerundet wird, da Punkte als Ganzzahlen gespeichert werden. Verwenden Sie QPointF für Fließkommagenauigkeit.
Siehe auch QPoint::operator*=().
[constexpr]
QPoint operator*(const QPoint &point, float factor)
Gibt eine Kopie des angegebenen point multipliziert mit dem angegebenen factor zurück.
Beachten Sie, dass das Ergebnis auf die nächste Ganzzahl gerundet wird, da Punkte als Ganzzahlen gespeichert werden. Verwenden Sie QPointF für Fließkommagenauigkeit.
Siehe auch QPoint::operator*=().
[constexpr noexcept]
QPoint operator*(const QPoint &point, int factor)
Gibt eine Kopie des angegebenen point multipliziert mit dem angegebenen factor zurück.
Siehe auch QPoint::operator*=().
[constexpr]
QPoint operator*(double factor, const QPoint &point)
Dies ist eine überladene Funktion.
Gibt eine Kopie des angegebenen point multipliziert mit dem angegebenen factor zurück.
Beachten Sie, dass das Ergebnis auf die nächste Ganzzahl gerundet wird, da Punkte als Ganzzahlen gehalten werden. Verwenden Sie QPointF für Fließkommagenauigkeit.
Siehe auch QPoint::operator*=().
[constexpr]
QPoint operator*(float factor, const QPoint &point)
Dies ist eine überladene Funktion.
Gibt eine Kopie des angegebenen point multipliziert mit dem angegebenen factor zurück.
Beachten Sie, dass das Ergebnis auf die nächste Ganzzahl gerundet wird, da Punkte als Ganzzahlen gehalten werden. Verwenden Sie QPointF für Fließkommagenauigkeit.
Siehe auch QPoint::operator*=().
[constexpr noexcept]
QPoint operator*(int factor, const QPoint &point)
Dies ist eine überladene Funktion.
Gibt eine Kopie des angegebenen point multipliziert mit dem angegebenen factor zurück.
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 Objekt QPoint zurück, das die Summe der angegebenen Punkte p1 und p2 ist; 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; jede Komponente wird separat subtrahiert.
Siehe auch QPoint::operator-=().
[constexpr noexcept]
QPoint operator-(const QPoint &point)
Dies ist eine überladene Funktion.
Gibt ein QPoint -Objekt zurück, das durch Ändern des Vorzeichens der beiden Komponenten der angegebenen point gebildet wird.
Äquivalent zu QPoint(0,0) - point
.
[constexpr]
QPoint operator/(const QPoint &point, qreal divisor)
Gibt die QPoint zurück, die sich aus der Division der beiden Komponenten der angegebenen point durch die angegebene divisor ergibt.
Beachten Sie, dass das Ergebnis auf die nächste Ganzzahl gerundet wird, da die Punkte als Ganzzahlen gehalten werden. Verwenden Sie QPointF für Fließkommagenauigkeit.
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 von Qt-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 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.