QPointF Class

Die Klasse QPointF definiert einen Punkt in der Ebene mit Fließkommagenauigkeit. Mehr...

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

Diese Klasse ist gleichwertig-vergleichbar.

Diese Klasse ist gleichsetzbar mit QPoint.

Hinweis: Alle Funktionen in dieser Klasse sind reentrant.

Öffentliche Funktionen

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

Statische öffentliche Mitglieder

qreal dotProduct(const QPointF &p1, const QPointF &p2)
QPointF fromCGPoint(CGPoint point)
(since 6.8) bool qFuzzyCompare(const QPointF &p1, const QPointF &p2)
(since 6.8) bool qFuzzyIsNull(const QPointF &point)
bool operator!=(const QPointF &lhs, const QPointF &rhs)
QPointF operator*(const QPointF &point, qreal factor)
QPointF operator*(qreal factor, const QPointF &point)
QPointF operator+(const QPointF &point)
QPointF operator+(const QPointF &p1, const QPointF &p2)
QPointF operator-(const QPointF &p1, const QPointF &p2)
QPointF operator-(const QPointF &point)
QPointF operator/(const QPointF &point, qreal divisor)
QDataStream &operator<<(QDataStream &stream, const QPointF &point)
bool operator==(const QPointF &lhs, const QPointF &rhs)
QDataStream &operator>>(QDataStream &stream, QPointF &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 Koordinaten des Punktes werden aus Gründen der Genauigkeit mit endlichen Fließkommazahlen angegeben. Die Funktion isNull() gibt true zurück, wenn sowohl x als auch y auf 0,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:

QPointF p;

p.setX(p.x() + 1.0);
p += QPointF(1.0, 0.0);
p.rx()++;

Ein QPointF-Objekt kann auch als Vektor verwendet werden: Addition und Subtraktion sind wie bei Vektoren definiert (jede Komponente wird einzeln addiert). Ein QPointF-Objekt kann auch durch ein int oder ein qreal dividiert oder multipliziert werden.

Darüber hinaus bietet die QPointF-Klasse einen Konstruktor, der ein QPoint -Objekt in ein QPointF-Objekt umwandelt, sowie eine entsprechende Funktion toPoint(), die eine QPoint -Kopie dieses Punktes zurückgibt. Schließlich können QPointF-Objekte sowohl gestreamt als auch verglichen werden.

Siehe auch QPoint und QPolygonF.

Dokumentation der Mitgliedsfunktionen

[constexpr noexcept] QPointF::QPointF()

Konstruiert einen Nullpunkt, d. h. mit den Koordinaten (0.0, 0.0)

Siehe auch isNull().

[constexpr noexcept] QPointF::QPointF(const QPoint &point)

Konstruiert eine Kopie der angegebenen point.

Siehe auch toPoint() und QPoint::toPointF().

[constexpr noexcept] QPointF::QPointF(qreal xpos, qreal ypos)

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

Siehe auch setX() und setY().

[static constexpr] qreal QPointF::dotProduct(const QPointF &p1, const QPointF &p2)

QPointF p( 3.1, 7.1);
QPointF q(-1.0, 4.1);
qreal dotProduct = QPointF::dotProduct(p, q);   // dotProduct becomes 26.01

Gibt das Punktprodukt von p1 und p2 zurück.

[static noexcept] QPointF QPointF::fromCGPoint(CGPoint point)

Erzeugt ein QRectF aus CGPoint point.

Siehe auch toCGPoint().

[noexcept] bool QPointF::isNull() const

Gibt true zurück, wenn sowohl die x- als auch die y-Koordinaten auf 0,0 gesetzt sind (ohne Berücksichtigung des Vorzeichens); andernfalls wird false zurückgegeben.

[constexpr] qreal QPointF::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.

Siehe auch QPoint::manhattanLength().

[constexpr noexcept] qreal &QPointF::rx()

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

Die Verwendung eines Verweises ermöglicht die direkte Manipulation von x. Zum Beispiel:

 QPointF p(1.1, 2.5);
 p.rx()--;   // p becomes (0.1, 2.5)

Siehe auch x() und setX().

[constexpr noexcept] qreal &QPointF::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:

QPointF p(1.1, 2.5);
p.ry()++;   // p becomes (1.1, 3.5)

Siehe auch y() und setY().

[constexpr noexcept] void QPointF::setX(qreal x)

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

Siehe auch x() und setY().

[constexpr noexcept] void QPointF::setY(qreal y)

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

Siehe auch y() und setX().

[noexcept] CGPoint QPointF::toCGPoint() const

Erzeugt einen CGPoint aus einem QPointF.

Siehe auch fromCGPoint().

[constexpr] QPoint QPointF::toPoint() const

Rundet die Koordinaten dieses Punktes auf die nächstliegende Ganzzahl und gibt ein QPoint Objekt mit den gerundeten Koordinaten zurück.

Siehe auch QPointF() und QPoint::toPointF().

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

Gibt einen Punkt mit ausgetauschten x- und y-Koordinaten zurück:

QPointF{1.0, 2.0}.transposed() // {2.0, 1.0}

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

[constexpr noexcept] qreal QPointF::x() const

Gibt die x-Koordinate dieses Punktes zurück.

Siehe auch setX() und rx().

[constexpr noexcept] qreal QPointF::y() const

Gibt die y-Koordinate dieses Punktes zurück.

Siehe auch setY() und ry().

[constexpr] QPointF &QPointF::operator*=(qreal factor)

Multipliziert die Koordinaten dieses Punktes mit der angegebenen endlichen Zahl factor und gibt einen Verweis auf diesen Punkt zurück. Zum Beispiel:

QPointF p(-1.1, 4.1);
p *= 2.5;    // p becomes (-2.75, 10.25)

Siehe auch operator/=().

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

Fügt den angegebenen point zu diesem Punkt hinzu und gibt einen Verweis auf diesen Punkt zurück. Zum Beispiel:

QPointF p( 3.1, 7.1);
QPointF q(-1.0, 4.1);
p += q;    // p becomes (2.1, 11.2)

Siehe auch operator-=().

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

Subtrahiert den angegebenen point von diesem Punkt und gibt einen Verweis auf diesen Punkt zurück. Zum Beispiel:

QPointF p( 3.1, 7.1);
QPointF q(-1.0, 4.1);
p -= q;    // p becomes (4.1, 3.0)

Siehe auch operator+=().

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

Teilt sowohl x als auch y durch den angegebenen divisor und gibt einen Verweis auf diesen Punkt zurück. Ein Beispiel:

QPointF p(-2.75, 10.25);
p /= 2.5;           // p becomes (-1.1, 4.1)

Die divisor darf nicht Null oder NaN sein.

Siehe auch operator*=().

Verwandte Nicht-Mitglieder

[constexpr noexcept, since 6.8] bool qFuzzyCompare(const QPointF &p1, const QPointF &p2)

Gibt true zurück, wenn p1 ungefähr gleich p2 ist; andernfalls wird false zurückgegeben.

Diese Funktion wurde in Qt 6.8 eingeführt.

Siehe auch qFuzzyIsNull.

[constexpr noexcept, since 6.8] bool qFuzzyIsNull(const QPointF &point)

Gibt true zurück, wenn point ungefähr gleich einem Punkt (0.0, 0.0) ist.

Diese Funktion wurde in Qt 6.8 eingeführt.

Siehe auch qFuzzyCompare.

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

Gibt true zurück, wenn lhs sich hinreichend von rhs unterscheidet; andernfalls wird false zurückgegeben.

Warnung: Diese Funktion prüft nicht auf strenge Ungleichheit, sondern verwendet einen unscharfen Vergleich, um die Koordinaten der Punkte zu vergleichen.

Siehe auch qFuzzyCompare.

[constexpr] QPointF operator*(const QPointF &point, qreal factor)

Liefert eine Kopie der angegebenen point, multipliziert mit der angegebenen endlichen factor.

Siehe auch QPointF::operator*=().

[constexpr] QPointF operator*(qreal factor, const QPointF &point)

Dies ist eine überladene Funktion.

Gibt eine Kopie der angegebenen point zurück, multipliziert mit der angegebenen endlichen factor.

[constexpr] QPointF operator+(const QPointF &point)

Gibt point unverändert zurück.

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

Gibt ein Objekt QPointF zurück, das die Summe der angegebenen Punkte p1 und p2 ist; jede Komponente wird separat addiert.

Siehe auch QPointF::operator+=().

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

Gibt ein QPointF Objekt zurück, das durch Subtraktion von p2 von p1 gebildet wird; jede Komponente wird separat subtrahiert.

Siehe auch QPointF::operator-=().

[constexpr] QPointF operator-(const QPointF &point)

Dies ist eine überladene Funktion.

Gibt ein QPointF Objekt zurück, das durch Ändern des Vorzeichens jeder Komponente der angegebenen point gebildet wird.

Äquivalent zu QPointF(0,0) - point.

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

Gibt das Objekt QPointF zurück, das durch Division jeder Komponente des angegebenen point durch das angegebene divisor gebildet wird.

Die divisor darf nicht Null oder NaN sein.

Siehe auch QPointF::operator/=().

QDataStream &operator<<(QDataStream &stream, const QPointF &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 QPointF &lhs, const QPointF &rhs)

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

Warnung: Diese Funktion prüft nicht auf strikte Gleichheit, sondern verwendet einen unscharfen Vergleich, um die Koordinaten der Punkte zu vergleichen.

Siehe auch qFuzzyCompare.

QDataStream &operator>>(QDataStream &stream, QPointF &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.