Auf dieser Seite

QVector2D Class

Die Klasse „QVector2D“ repräsentiert einen Vektor oder einen Scheitelpunkt im 2D-Raum. Mehr...

Header: #include <QVector2D>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

Öffentliche Funktionen

QVector2D()
QVector2D(QPoint point)
QVector2D(QPointF point)
QVector2D(QVector3D vector)
QVector2D(QVector4D vector)
QVector2D(float xpos, float ypos)
float distanceToLine(QVector2D point, QVector2D direction) const
float distanceToPoint(QVector2D point) const
bool isNull() const
float length() const
float lengthSquared() const
void normalize()
QVector2D normalized() const
void setX(float x)
void setY(float y)
QPoint toPoint() const
QPointF toPointF() const
QVector3D toVector3D() const
QVector4D toVector4D() const
float x() const
float y() const
operator QVariant() const
QVector2D &operator*=(QVector2D vector)
QVector2D &operator*=(float factor)
QVector2D &operator+=(QVector2D vector)
QVector2D &operator-=(QVector2D vector)
QVector2D &operator/=(QVector2D vector)
QVector2D &operator/=(float divisor)
float &operator[](int i)
float operator[](int i) const

Statische öffentliche Mitglieder

float dotProduct(QVector2D v1, QVector2D v2)
bool qFuzzyCompare(QVector2D v1, QVector2D v2)
(since 6.12) size_t qHash(QVector2D key, size_t seed = 0)
bool operator!=(QVector2D v1, QVector2D v2)
QVector2D operator*(QVector2D v1, QVector2D v2)
QVector2D operator*(QVector2D vector, float factor)
QVector2D operator*(float factor, QVector2D vector)
QVector2D operator+(QVector2D v1, QVector2D v2)
QVector2D operator-(QVector2D v1, QVector2D v2)
QVector2D operator-(QVector2D vector)
QVector2D operator/(QVector2D vector, QVector2D divisor)
QVector2D operator/(QVector2D vector, float divisor)
QDataStream &operator<<(QDataStream &stream, QVector2D vector)
bool operator==(QVector2D v1, QVector2D v2)
QDataStream &operator>>(QDataStream &stream, QVector2D &vector)

Ausführliche Beschreibung

Vektoren sind einer der wichtigsten Bausteine der 2D-Darstellung und des Zeichnens. Sie bestehen aus zwei endlichen Gleitkomma-Koordinaten, die traditionell als x und y bezeichnet werden.

Die Klasse `QVector2D` kann auch zur Darstellung von Eckpunkten im 2D-Raum verwendet werden. Daher ist es nicht erforderlich, eine separate Eckpunktklasse bereitzustellen.

Siehe auch QVector3D, QVector4D und QQuaternion.

Dokumentation zu den Mitgliedsfunktionen

[constexpr noexcept] QVector2D::QVector2D()

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

[explicit constexpr noexcept] QVector2D::QVector2D(QPoint point)

Erstellt einen Vektor mit x- und y-Koordinaten aus einem 2D- point.

[explicit constexpr noexcept] QVector2D::QVector2D(QPointF point)

Erstellt einen Vektor mit x- und y-Koordinaten aus einem 2D- point.

[explicit constexpr noexcept] QVector2D::QVector2D(QVector3D vector)

Erstellt einen Vektor mit x- und y-Koordinaten aus einem 3D- vector. Die z-Koordinate von vector wird verworfen.

Siehe auch ` toVector3D()`.

[explicit constexpr noexcept] QVector2D::QVector2D(QVector4D vector)

Erstellt einen Vektor mit x- und y-Koordinaten aus einem 3D- vector. Die z- und w-Koordinaten von vector werden verworfen.

Siehe auch ` toVector4D()`.

[constexpr noexcept] QVector2D::QVector2D(float xpos, float ypos)

Erzeugt einen Vektor mit den Koordinaten (xpos, ypos). Beide Koordinaten müssen endlich sein.

[noexcept] float QVector2D::distanceToLine(QVector2D point, QVector2D direction) const

Gibt den Abstand dieses Scheitelpunkts von einer Geraden zurück, die durch point und den Einheitsvektor direction definiert ist.

Ist direction ein Nullvektor, so definiert er keine Gerade. In diesem Fall wird der Abstand von point zu diesem Scheitelpunkt zurückgegeben.

Siehe auch distanceToPoint().

[noexcept] float QVector2D::distanceToPoint(QVector2D point) const

Gibt den Abstand von diesem Scheitelpunkt zu einem Punkt zurück, der durch den Scheitelpunkt point definiert ist.

Siehe auch distanceToLine().

[static constexpr noexcept] float QVector2D::dotProduct(QVector2D v1, QVector2D v2)

Gibt das Skalarprodukt von v1 und v2 zurück.

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

Gibt „ true “ zurück, wenn die x- und y-Koordinaten auf 0,0 gesetzt sind, andernfalls „ false “.

[noexcept] float QVector2D::length() const

Gibt die Länge des Vektors vom Ursprung aus zurück.

Siehe auch lengthSquared() und normalized().

[constexpr noexcept] float QVector2D::lengthSquared() const

Gibt das Quadrat der Länge des Vektors vom Ursprung zurück. Dies entspricht dem Skalarprodukt des Vektors mit sich selbst.

Siehe auch length() und dotProduct().

[noexcept] void QVector2D::normalize()

Normalisiert den aktuellen Vektor an Ort und Stelle. Es geschieht nichts, wenn dieser Vektor ein Nullvektor ist oder die Länge des Vektors sehr nahe bei 1 liegt.

Siehe auch length() und normalized().

[noexcept] QVector2D QVector2D::normalized() const

Gibt die normierte Einheitsvektorform dieses Vektors zurück.

Ist dieser Vektor null, wird ein Nullvektor zurückgegeben. Liegt die Länge des Vektors sehr nahe bei 1, wird der Vektor unverändert zurückgegeben. Andernfalls wird die normierte Form des Vektors der Länge 1 zurückgegeben.

Siehe auch length() und normalize().

[constexpr noexcept] void QVector2D::setX(float x)

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

Siehe auch „ x “ () und „ setY “ ().

[constexpr noexcept] void QVector2D::setY(float y)

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

Siehe auch „ y()“ und „ setX()“.

[constexpr noexcept] QPoint QVector2D::toPoint() const

Gibt die Form „ QPoint “ dieses 2D-Vektors zurück. Jede Koordinate wird auf die nächste ganze Zahl gerundet.

Siehe auch ` toPointF()` und ` toVector3D()`.

[constexpr noexcept] QPointF QVector2D::toPointF() const

Gibt die Form „ QPointF “ dieses 2D-Vektors zurück.

Siehe auch „ toPoint()“ und „ toVector3D()“.

[constexpr noexcept] QVector3D QVector2D::toVector3D() const

Gibt die 3D-Darstellung dieses 2D-Vektors zurück, wobei die z-Koordinate auf Null gesetzt ist.

Siehe auch „ toVector4D()“ und „ toPoint()“.

[constexpr noexcept] QVector4D QVector2D::toVector4D() const

Gibt die 4D-Form dieses 2D-Vektors zurück, wobei die z- und w-Koordinaten auf Null gesetzt sind.

Siehe auch toVector3D() und toPoint().

[constexpr noexcept] float QVector2D::x() const

Gibt die x-Koordinate dieses Punktes zurück.

Siehe auch „ setX()“ und „ y()“.

[constexpr noexcept] float QVector2D::y() const

Gibt die y-Koordinate dieses Punktes zurück.

Siehe auch setY() und x().

QVector2D::operator QVariant() const

Gibt den 2D-Vektor als ` QVariant` zurück.

[constexpr noexcept] QVector2D &QVector2D::operator*=(QVector2D vector)

Multipliziert jede Komponente dieses Vektors mit der entsprechenden Komponente von vector und gibt eine Referenz auf diesen Vektor zurück.

Hinweis: Dies ist kein Vektorprodukt dieses Vektors mit vector. (Die Summe seiner Komponenten entspricht dem Skalarprodukt dieses Vektors mit vector.)

Siehe auch operator/=() und operator*().

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

Multipliziert die Koordinaten dieses Vektors mit der angegebenen endlichen Matrix factor und gibt eine Referenz auf diesen Vektor zurück.

Siehe auch ` operator/=()` und ` operator*()`.

[constexpr noexcept] QVector2D &QVector2D::operator+=(QVector2D vector)

Fügt den angegebenen vector zu diesem Vektor hinzu und gibt eine Referenz auf diesen Vektor zurück.

Siehe auch ` operator-=()`.

[constexpr noexcept] QVector2D &QVector2D::operator-=(QVector2D vector)

Subtrahiert den angegebenen Vektor ` vector ` von diesem Vektor und gibt eine Referenz auf diesen Vektor zurück.

Siehe auch ` operator+=()`.

[constexpr] QVector2D &QVector2D::operator/=(QVector2D vector)

Teilt jede Komponente dieses Vektors durch die entsprechende Komponente von „ vector “ und gibt eine Referenz auf diesen Vektor zurück.

Der Vektor ` vector ` darf keine Komponente enthalten, die entweder Null oder NaN ist.

Siehe auch „ operator*=()“ und „ operator/()“.

[constexpr] QVector2D &QVector2D::operator/=(float divisor)

Teilt die Koordinaten dieses Vektors durch den angegebenen „ divisor “ und gibt eine Referenz auf diesen Vektor zurück. Der „ divisor “ darf weder Null noch NaN sein.

Siehe auch operator*=().

[constexpr] float &QVector2D::operator[](int i)

Gibt die Komponente des Vektors an der Indexposition i als veränderbare Referenz zurück.

i muss eine gültige Indexposition im Vektor sein (d. h., 0 <= i < 2).

[constexpr] float QVector2D::operator[](int i) const

Gibt die Komponente des Vektors an der Indexposition i zurück.

i i muss eine gültige Indexposition im Vektor sein (d. h., 0 <= < 2).

Verwandte Nicht-Mitglieder

[noexcept] bool qFuzzyCompare(QVector2D v1, QVector2D v2)

Gibt „ true “ zurück, wenn „ v1 “ und „ v2 “ gleich sind, wobei bei Gleitkomma-Vergleichen ein geringer Ungenauigkeitsfaktor berücksichtigt wird; andernfalls „false“.

[constexpr noexcept, since 6.12] size_t qHash(QVector2D key, size_t seed = 0)

Gibt den Hash-Wert für „ key “ zurück, wobei „ seed “ als Startwert für die Berechnung verwendet wird.

Diese Funktion wurde in Qt 6.12 eingeführt.

[constexpr noexcept] bool operator!=(QVector2D v1, QVector2D v2)

Gibt „ true “ zurück, wenn „ v1 “ nicht gleich „ v2 “ ist; andernfalls wird „ false “ zurückgegeben. Dieser Operator verwendet einen exakten Gleitkomma-Vergleich.

[constexpr noexcept] QVector2D operator*(QVector2D v1, QVector2D v2)

Gibt das Objekt „ QVector2D “ zurück, das durch Multiplikation jeder Komponente von „ v1 “ mit der entsprechenden Komponente von „ v2 “ gebildet wird.

Hinweis: Dies ist in keiner Weise ein Kreuzprodukt von ` v1 ` und ` v2 `. (Die Summe seiner Komponenten entspricht dem Skalarprodukt von ` v1 ` und ` v2`.)

Siehe auch QVector2D::operator*=().

[constexpr noexcept] QVector2D operator*(QVector2D vector, float factor)

Gibt eine Kopie des angegebenen „ vector “ zurück, multipliziert mit dem angegebenen endlichen „ factor “.

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

[constexpr noexcept] QVector2D operator*(float factor, QVector2D vector)

Gibt eine Kopie des angegebenen „ vector “ zurück, multipliziert mit dem angegebenen endlichen „ factor “.

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

[constexpr noexcept] QVector2D operator+(QVector2D v1, QVector2D v2)

Gibt ein „ QVector2D “-Objekt zurück, das die Summe der angegebenen Vektoren „ v1 “ und „ v2 “ darstellt; jede Komponente wird separat addiert.

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

[constexpr noexcept] QVector2D operator-(QVector2D v1, QVector2D v2)

Gibt ein „ QVector2D “-Objekt zurück, das durch Subtraktion von v2 von v1 gebildet wird; jede Komponente wird separat subtrahiert.

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

[constexpr noexcept] QVector2D operator-(QVector2D vector)

Gibt ein „ QVector2D “-Objekt zurück, das durch Umkehrung des Vorzeichens jeder Komponente des angegebenen „ vector “ gebildet wird.

Entspricht ` QVector2D(0,0) - vector`.

Dies ist eine überladene Funktion.

[constexpr] QVector2D operator/(QVector2D vector, QVector2D divisor)

Gibt das Objekt „ QVector2D “ zurück, das dadurch gebildet wird, dass jede Komponente des angegebenen „ vector “ durch die entsprechende Komponente des angegebenen „ divisor “ dividiert wird.

Das ` divisor ` darf keine Komponente enthalten, die entweder Null oder NaN ist.

Siehe auch QVector2D::operator/=().

[constexpr] QVector2D operator/(QVector2D vector, float divisor)

Gibt das Objekt „ QVector2D “ zurück, das entsteht, wenn jede Komponente des angegebenen „ vector “ durch den angegebenen „ divisor “ dividiert wird.

Das ` divisor ` darf weder Null noch NaN sein.

Siehe auch QVector2D::operator/=().

QDataStream &operator<<(QDataStream &stream, QVector2D vector)

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

Siehe auch „Serialisierung vonQt-Datentypen“.

[constexpr noexcept] bool operator==(QVector2D v1, QVector2D v2)

Gibt „ true “ zurück, wenn „ v1 “ gleich „ v2 “ ist; andernfalls wird „ false “ zurückgegeben. Dieser Operator verwendet einen exakten Gleitkomma-Vergleich.

QDataStream &operator>>(QDataStream &stream, QVector2D &vector)

Liest einen 2D-Vektor aus dem angegebenen „ stream “ in den angegebenen „ vector “ 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.