# QVector2D¶

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

New in version 4.6.

## Detailed Description¶

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 `QVector2D`

QVector2D(point)

QVector2D(point)

QVector2D(vector)

QVector2D(vector)

QVector2D(xpos, ypos)

param ypos

`float`

param point

`QPoint`

param vector

`QVector3D`

param xpos

`float`

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

Constructs a vector with coordinates (`xpos` , `ypos` ).

`PySide2.QtGui.QVector2D.``__reduce__`()
Return type

`PyObject`

`PySide2.QtGui.QVector2D.``__repr__`()
Return type

`PyObject`

`PySide2.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.

`PySide2.QtGui.QVector2D.``distanceToPoint`(point)
Parameters

point`QVector2D`

Return type

`float`

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

static `PySide2.QtGui.QVector2D.``dotProduct`(v1, v2)
Parameters
Return type

`float`

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

`PySide2.QtGui.QVector2D.``isNull`()
Return type

`bool`

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

`PySide2.QtGui.QVector2D.``length`()
Return type

`float`

Returns the length of the vector from the origin.

`PySide2.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.

`PySide2.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.

`PySide2.QtGui.QVector2D.``normalized`()
Return type

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

`PySide2.QtGui.QVector2D.``__ne__`(v2)
Parameters
Return type

`bool`

`PySide2.QtGui.QVector2D.``__mul__`(v2)
Parameters
Return type

`QVector2D`

`PySide2.QtGui.QVector2D.``__mul__`(factor)
Parameters

factor`float`

Return type

`QVector2D`

`PySide2.QtGui.QVector2D.``__mul__`(factor)
Parameters

factor`float`

Return type

`QVector2D`

`PySide2.QtGui.QVector2D.``__imul__`(factor)
Parameters

factor`float`

Return type

`QVector2D`

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

`operator/=()`

`PySide2.QtGui.QVector2D.``__imul__`(vector)
Parameters

vector`QVector2D`

Return type

`QVector2D`

`PySide2.QtGui.QVector2D.``__add__`(v2)
Parameters
Return type

`QVector2D`

`PySide2.QtGui.QVector2D.``__iadd__`(vector)
Parameters

vector`QVector2D`

Return type

`QVector2D`

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

`operator-=()`

`PySide2.QtGui.QVector2D.``__sub__`()
Return type

`QVector2D`

`PySide2.QtGui.QVector2D.``__sub__`(v2)
Parameters
Return type

`QVector2D`

`PySide2.QtGui.QVector2D.``__isub__`(vector)
Parameters

vector`QVector2D`

Return type

`QVector2D`

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

`operator+=()`

`PySide2.QtGui.QVector2D.``__div__`(divisor)
Parameters

divisor`QVector2D`

Return type

`QVector2D`

`PySide2.QtGui.QVector2D.``__div__`(divisor)
Parameters

divisor`float`

Return type

`QVector2D`

`PySide2.QtGui.QVector2D.``__idiv__`(vector)
Parameters

vector`QVector2D`

Return type

`QVector2D`

`PySide2.QtGui.QVector2D.``__idiv__`(divisor)
Parameters

divisor`float`

Return type

`QVector2D`

Divides this vector’s coordinates by the given `divisor` , and returns a reference to this vector.

`operator*=()`

`PySide2.QtGui.QVector2D.``__eq__`(v2)
Parameters
Return type

`bool`

`PySide2.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).

`PySide2.QtGui.QVector2D.``setX`(x)
Parameters

x`float`

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

`PySide2.QtGui.QVector2D.``setY`(y)
Parameters

y`float`

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

`PySide2.QtGui.QVector2D.``toPoint`()
Return type

`QPoint`

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

`PySide2.QtGui.QVector2D.``toPointF`()
Return type

`QPointF`

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

`PySide2.QtGui.QVector2D.``toTuple`()
Return type

`PyObject`

`PySide2.QtGui.QVector2D.``toVector3D`()
Return type

`QVector3D`

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

`PySide2.QtGui.QVector2D.``toVector4D`()
Return type

`QVector4D`

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

`PySide2.QtGui.QVector2D.``x`()
Return type

`float`

Returns the x coordinate of this point.

`PySide2.QtGui.QVector2D.``y`()
`float`