# QVector2D#

The `QVector2D` class represents a vector or vertex in 2D space. More

New in version 4.6.

## Detailed Description#

Vectors are one of the main building blocks of 2D representation and drawing. They consist of two finite floating-point coordinates, traditionally called x and y.

The `QVector2D` class can also be used to represent vertices in 2D space. We therefore do not need to provide a separate vertex class.

class PySide6.QtGui.QVector2D#

PySide6.QtGui.QVector2D(point)

PySide6.QtGui.QVector2D(point)

PySide6.QtGui.QVector2D(vector)

PySide6.QtGui.QVector2D(vector)

PySide6.QtGui.QVector2D(xpos, ypos)

Parameters
• xpos – float

• ypos – float

Constructs a null vector, i.e. with coordinates (0, 0).

Constructs a vector with x and y coordinates from a 2D `point`.

Constructs a vector with x and y coordinates from a 2D `point`.

Constructs a vector with x and y coordinates from a 3D `vector`. The z coordinate of `vector` is dropped.

Constructs a vector with x and y coordinates from a 3D `vector`. The z and w coordinates of `vector` are dropped.

Constructs a vector with coordinates (`xpos`, `ypos`). Both coordinates must be finite.

PySide6.QtGui.QVector2D.__reduce__()#
Return type

object

PySide6.QtGui.QVector2D.__repr__()#
Return type

object

PySide6.QtGui.QVector2D.distanceToLine(point, direction)#
Parameters
Return type

float

Returns the distance that this vertex is from a line defined by `point` and the unit vector `direction`.

If `direction` is a null vector, then it does not define a line. In that case, the distance from `point` to this vertex is returned.

PySide6.QtGui.QVector2D.distanceToPoint(point)#
Parameters
Return type

float

Returns the distance from this vertex to a point defined by the vertex `point`.

static PySide6.QtGui.QVector2D.dotProduct(v1, v2)#
Parameters
Return type

float

Returns the dot product of `v1` and `v2`.

PySide6.QtGui.QVector2D.isNull()#
Return type

bool

Returns `true` if the x and y coordinates are set to 0.0, otherwise returns `false`.

PySide6.QtGui.QVector2D.length()#
Return type

float

Returns the length of the vector from the origin.

PySide6.QtGui.QVector2D.lengthSquared()#
Return type

float

Returns the squared length of the vector from the origin. This is equivalent to the dot product of the vector with itself.

PySide6.QtGui.QVector2D.normalize()#

Normalizes the currect vector in place. Nothing happens if this vector is a null vector or the length of the vector is very close to 1.

PySide6.QtGui.QVector2D.normalized()#
Return type

`PySide6.QtGui.QVector2D`

Returns the normalized unit vector form of this vector.

If this vector is null, then a null vector is returned. If the length of the vector is very close to 1, then the vector will be returned as-is. Otherwise the normalized form of the vector of length 1 will be returned.

PySide6.QtGui.QVector2D.__ne__(v2)#
Parameters
Return type

bool

Returns `true` if `v1` is not equal to `v2`; otherwise returns `false`. This operator uses an exact floating-point comparison.

PySide6.QtGui.QVector2D.__mul__(v2)#
Parameters
Return type

`PySide6.QtGui.QVector2D`

Returns the `QVector2D` object formed by multiplying each component of `v1` by the corresponding component of `v2`.

Note

This is not a cross product of `v1` and `v2` in any sense. (Its components add up to the dot product of `v1` and `v2`.)

`operator*=()`

PySide6.QtGui.QVector2D.__mul__(factor)
Parameters

factor – float

Return type

`PySide6.QtGui.QVector2D`

Returns a copy of the given `vector`, multiplied by the given finite `factor`.

`operator*=()`

PySide6.QtGui.QVector2D.__mul__(factor)
Parameters

factor – float

Return type

`PySide6.QtGui.QVector2D`

Returns a copy of the given `vector`, multiplied by the given finite `factor`.

`operator*=()`

PySide6.QtGui.QVector2D.__imul__(factor)#
Parameters

factor – float

Return type

`PySide6.QtGui.QVector2D`

Multiplies this vector’s coordinates by the given finite `factor` and returns a reference to this vector.

`operator/=()` `operator*()`

PySide6.QtGui.QVector2D.__imul__(vector)
Parameters
Return type

`PySide6.QtGui.QVector2D`

Multiplies each component of this vector by the corresponding component of `vector` and returns a reference to this vector.

Note

This is not a cross product of this vector with `vector`. (Its components add up to the dot product of this vector and `vector`.)

`operator/=()` `operator*()`

Parameters
Return type

`PySide6.QtGui.QVector2D`

Returns a `QVector2D` object that is the sum of the given vectors, `v1` and `v2`; each component is added separately.

`operator+=()`

Parameters
Return type

`PySide6.QtGui.QVector2D`

Adds the given `vector` to this vector and returns a reference to this vector.

`operator-=()`

PySide6.QtGui.QVector2D.__sub__()#
Return type

`PySide6.QtGui.QVector2D`

Returns a `QVector2D` object that is formed by changing the sign of each component of the given `vector`.

Equivalent to `QVector2D(0,0) - vector`.

PySide6.QtGui.QVector2D.__sub__(v2)
Parameters
Return type

`PySide6.QtGui.QVector2D`

Returns a `QVector2D` object that is formed by subtracting `v2` from `v1`; each component is subtracted separately.

`operator-=()`

PySide6.QtGui.QVector2D.__isub__(vector)#
Parameters
Return type

`PySide6.QtGui.QVector2D`

Subtracts the given `vector` from this vector and returns a reference to this vector.

`operator+=()`

PySide6.QtGui.QVector2D.__div__(divisor)#
Parameters
Return type

`PySide6.QtGui.QVector2D`

Returns the `QVector2D` object formed by dividing each component of the given `vector` by the corresponding component of the given `divisor`.

The `divisor` must have no component that is either zero or NaN.

`operator/=()`

PySide6.QtGui.QVector2D.__div__(divisor)
Parameters

divisor – float

Return type

`PySide6.QtGui.QVector2D`

Returns the `QVector2D` object formed by dividing each component of the given `vector` by the given `divisor`.

The `divisor` must not be either zero or NaN.

`operator/=()`

PySide6.QtGui.QVector2D.__idiv__(vector)#
Parameters
Return type

`PySide6.QtGui.QVector2D`

Divides each component of this vector by the corresponding component of `vector` and returns a reference to this vector.

The `vector` must have no component that is either zero or NaN.

`operator*=()` `operator/()`

PySide6.QtGui.QVector2D.__idiv__(divisor)
Parameters

divisor – float

Return type

`PySide6.QtGui.QVector2D`

Divides this vector’s coordinates by the given `divisor` and returns a reference to this vector. The `divisor` must not be either zero or NaN.

`operator*=()`

PySide6.QtGui.QVector2D.__eq__(v2)#
Parameters
Return type

bool

Returns `true` if `v1` is equal to `v2`; otherwise returns `false`. This operator uses an exact floating-point comparison.

PySide6.QtGui.QVector2D.operator[](i)
Parameters

i – int

Return type

float

Returns the component of the vector at index position `i`.

`i` must be a valid index position in the vector (i.e., 0 <= `i` < 2).

PySide6.QtGui.QVector2D.setX(x)#
Parameters

x – float

Sets the x coordinate of this point to the given finite `x` coordinate.

PySide6.QtGui.QVector2D.setY(y)#
Parameters

y – float

Sets the y coordinate of this point to the given finite `y` coordinate.

PySide6.QtGui.QVector2D.toPoint()#
Return type

`PySide6.QtCore.QPoint`

Returns the `QPoint` form of this 2D vector. Each coordinate is rounded to the nearest integer.

PySide6.QtGui.QVector2D.toPointF()#
Return type

`PySide6.QtCore.QPointF`

Returns the `QPointF` form of this 2D vector.

PySide6.QtGui.QVector2D.toTuple()#
Return type

object

PySide6.QtGui.QVector2D.toVector3D()#
Return type

`PySide6.QtGui.QVector3D`

Returns the 3D form of this 2D vector, with the z coordinate set to zero.

PySide6.QtGui.QVector2D.toVector4D()#
Return type

`PySide6.QtGui.QVector4D`

Returns the 4D form of this 2D vector, with the z and w coordinates set to zero.

PySide6.QtGui.QVector2D.x()#
Return type

float

Returns the x coordinate of this point.