Sur cette page

QVector2D Class

La classe QVector2D représente un vecteur ou un sommet dans un espace 2D. En savoir plus...

En-tête : #include <QVector2D>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui

Fonctions publiques

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

Membres publics statiques

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)

Description détaillée

Les vecteurs constituent l'un des principaux éléments de base de la représentation et du dessin en 2D. Ils se composent de deux coordonnées à virgule flottante finies, traditionnellement appelées x et y.

La classe QVector2D peut également être utilisée pour représenter des sommets dans l'espace 2D. Il n'est donc pas nécessaire de fournir une classe de sommets distincte.

Voir également QVector3D, QVector4D et QQuaternion.

Documentation des fonctions membres

[constexpr noexcept] QVector2D::QVector2D()

Crée un vecteur nul, c'est-à-dire dont les coordonnées sont (0, 0).

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

Crée un vecteur avec des coordonnées x et y à partir d'une image en 2D ( point).

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

Crée un vecteur avec des coordonnées x et y à partir d'un point e 2D.

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

Crée un vecteur avec des coordonnées x et y à partir d'un objet 3D de type « vector ». La coordonnée z de l'objet « vector » est ignorée.

Voir aussi toVector3D().

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

Crée un vecteur contenant les coordonnées x et y d'un objet 3D vector. Les coordonnées z et w de vector sont ignorées.

Voir également toVector4D().

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

Crée un vecteur dont les coordonnées sont (xpos, ypos). Les deux coordonnées doivent être finies.

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

Renvoie la distance séparant ce sommet d'une droite définie par point et le vecteur unitaire direction.

Si direction est un vecteur nul, il ne définit pas de droite. Dans ce cas, la distance entre point et ce sommet est renvoyée.

Voir également distanceToPoint().

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

Renvoie la distance entre ce sommet et un point défini par le sommet point.

Voir aussi distanceToLine().

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

Renvoie le produit scalaire de v1 et v2.

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

Renvoie « true » si les coordonnées x et y sont définies sur 0,0 ; sinon, renvoie « false ».

[noexcept] float QVector2D::length() const

Renvoie la distance du vecteur par rapport à l'origine.

Voir également lengthSquared() et normalized().

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

Renvoie le carré de la distance du vecteur par rapport à l'origine. Cela équivaut au produit scalaire du vecteur avec lui-même.

Voir également length() et dotProduct().

[noexcept] void QVector2D::normalize()

Normalise le vecteur courant sur place. Aucune opération n'est effectuée si ce vecteur est un vecteur nul ou si sa longueur est très proche de 1.

Voir également length() et normalized().

[noexcept] QVector2D QVector2D::normalized() const

Renvoie la forme normalisée (vecteur unitaire) de ce vecteur.

Si ce vecteur est nul, un vecteur nul est renvoyé. Si la longueur du vecteur est très proche de 1, le vecteur est renvoyé tel quel. Sinon, la forme normalisée du vecteur de longueur 1 est renvoyée.

Voir également length() et normalize().

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

Définit la coordonnée x de ce point sur la coordonnée finie fournie x.

Voir également x() et setY().

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

Définit la coordonnée y de ce point sur la coordonnée finie donnée y.

Voir également y() et setX().

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

Renvoie la forme « QPoint » de ce vecteur 2D. Chaque coordonnée est arrondie à l'entier le plus proche.

Voir également toPointF() et toVector3D().

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

Renvoie ce vecteur 2D sous la forme « QPointF ».

Voir également toPoint() et toVector3D().

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

Renvoie la forme 3D de ce vecteur 2D, avec la coordonnée z définie sur zéro.

Voir également toVector4D() et toPoint().

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

Renvoie la forme 4D de ce vecteur 2D, avec les coordonnées z et w mises à zéro.

Voir également toVector3D() et toPoint().

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

Renvoie la coordonnée x de ce point.

Voir également setX() et y().

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

Renvoie la coordonnée y de ce point.

Voir également setY() et x().

QVector2D::operator QVariant() const

Renvoie le vecteur 2D sous la forme d'un objet de type « QVariant ».

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

Multiplie chaque composante de ce vecteur par la composante correspondante de vector et renvoie une référence à ce vecteur.

Remarque : il ne s'agit pas du produit vectoriel de ce vecteur par vector. (La somme de ses composantes correspond au produit scalaire de ce vecteur et de vector.)

Voir également operator/=() et operator*().

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

Multiplie les coordonnées de ce vecteur par l'factor e fini spécifié et renvoie une référence à ce vecteur.

Voir également ` operator/=()` et ` operator*()`.

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

Ajoute l'vector on indiquée à ce vecteur et renvoie une référence à ce vecteur.

Voir aussi operator-=().

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

Soustrait l'vector on indiquée de ce vecteur et renvoie une référence à ce vecteur.

Voir aussi ` operator+=()`.

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

Divise chaque composante de ce vecteur par la composante correspondante de vector et renvoie une référence à ce vecteur.

vector ne doit comporter aucune composante égale à zéro ou à NaN.

Voir également ` operator*=()` et ` operator/()`.

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

Divise les coordonnées de ce vecteur par l'divisor e fournie et renvoie une référence à ce vecteur. L'divisor e ne doit être ni égal à zéro ni à NaN.

Voir également operator*=().

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

Renvoie la composante du vecteur située à l'indice i sous forme de référence modifiable.

i i doit être une position d'index valide dans le vecteur (c'est-à-dire 0 <= < 2).

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

Renvoie la composante du vecteur à l'indice i.

i i doit être un indice valide dans le vecteur (c'est-à-dire 0 <= < 2).

Éléments non membres associés

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

Renvoie « true » si « v1 » et « v2 » sont égaux, en tenant compte d'un léger degré d'imprécision pour les comparaisons en virgule flottante ; « false » dans le cas contraire.

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

Renvoie la valeur de hachage de ` key`, en utilisant ` seed ` comme graine pour le calcul.

Cette fonction a été introduite dans Qt 6.12.

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

Renvoie « true » si « v1 » n'est pas égal à « v2 » ; sinon, renvoie « false ». Cet opérateur utilise une comparaison exacte en virgule flottante.

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

Renvoie l'objet « QVector2D » obtenu en multipliant chaque composante de v1 par la composante correspondante de v2.

Remarque : il ne s'agit en aucun cas d'un produit vectoriel entre v1 et v2. (La somme de ses composantes correspond au produit scalaire de v1 et v2.)

Voir également QVector2D::operator*=().

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

Renvoie une copie de l'vector donné, multipliée par l'factor fini donné.

Voir aussi QVector2D::operator*=().

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

Renvoie une copie de l'vector donné, multipliée par l'factor fini donné.

Voir aussi QVector2D::operator*=().

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

Renvoie un objet ` QVector2D ` correspondant à la somme des vecteurs fournis, ` v1 ` et ` v2` ; chaque composante est additionnée séparément.

Voir également QVector2D::operator+=().

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

Renvoie un objet ` QVector2D ` obtenu en soustrayant ` v2 ` de ` v1` ; chaque composante est soustraite séparément.

Voir également QVector2D::operator-=().

[constexpr noexcept] QVector2D operator-(QVector2D vector)

Renvoie un objet ` QVector2D ` obtenu en inversant le signe de chaque composante de l'vector` donné.

Équivalent à ` QVector2D(0,0) - vector`.

Il s'agit d'une fonction surchargée.

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

Renvoie l’objet ` QVector2D ` obtenu en divisant chaque composante du tableau ` vector ` donné par la composante correspondante du tableau ` divisor` donné.

L’ divisor ne doit comporter aucune composante égale à zéro ou à NaN.

Voir également QVector2D::operator/=().

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

Renvoie l'objet ` QVector2D ` obtenu en divisant chaque composante de l'vector on fournie par l'divisor on fournie.

L'divisor ne doit être ni égal à zéro ni NaN.

Voir également QVector2D::operator/=().

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

Écrit l'vector on fournie dans le stream on indiquée et renvoie une référence au flux.

Voir également Sérialisation des types de données Qt.

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

Renvoie « true » si « v1 » est égal à « v2 » ; sinon, renvoie « false ». Cet opérateur utilise une comparaison exacte en virgule flottante.

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

Lit un vecteur 2D à partir du fichier stream vers le fichier vector et renvoie une référence au flux.

Voir également Sérialisation des types de données Qt.

© 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.