QVector2D Class
QVector2D 类表示二维空间中的矢量或顶点。更多
头文件: | #include <QVector2D> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
- 所有成员(包括继承成员)列表
- QVector2D 属于绘画类和3D 渲染 类。
公共函数
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 |
QVariant | 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 |
静态公共成员
float | dotProduct(QVector2D v1, QVector2D v2) |
相关非成员
bool | qFuzzyCompare(QVector2D v1, QVector2D v2) |
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) |
另请参见 QVector3D,QVector4D, 和QQuaternion 。
成员函数文档
[constexpr noexcept]
QVector2D::QVector2D()
构造一个空向量,即坐标为(0,0)。
[explicit constexpr noexcept]
QVector2D::QVector2D(QPoint point)
从二维point 中构建一个带有 x 和 y 坐标的矢量。
[explicit constexpr noexcept]
QVector2D::QVector2D(QPointF point)
从二维point 中构建一个带有 x 和 y 坐标的矢量。
[explicit constexpr noexcept]
QVector2D::QVector2D(QVector3D vector)
从三维vector 构建一个带有 x 和 y 坐标的矢量。vector 的 Z 坐标被删除。
另请参见 toVector3D().
[explicit constexpr noexcept]
QVector2D::QVector2D(QVector4D vector)
从三维vector 构建一个带有 x 和 y 坐标的矢量。vector 的 z 和 w 坐标将被删除。
另请参见 toVector4D().
[constexpr noexcept]
QVector2D::QVector2D(float xpos, float ypos)
构造一个坐标为 (xpos,ypos) 的向量。两个坐标都必须是有限的。
[noexcept]
float QVector2D::distanceToLine(QVector2D point, QVector2D direction) const
返回该顶点到由point 和单位向量direction 定义的直线的距离。
如果direction 是空向量,则它没有定义一条直线。在这种情况下,返回point 到此顶点的距离。
另请参见 distanceToPoint().
[noexcept]
float QVector2D::distanceToPoint(QVector2D point) const
返回该顶点到由顶点point 定义的点的距离。
另请参见 distanceToLine().
[static constexpr noexcept]
float QVector2D::dotProduct(QVector2D v1, QVector2D v2)
返回v1 和v2 的点积。
[constexpr noexcept]
bool QVector2D::isNull() const
如果 x 和 y 坐标设置为 0.0,则返回true
,否则返回false
。
[noexcept]
float QVector2D::length() const
返回矢量从原点出发的长度。
另请参见 lengthSquared() 和normalized()。
[constexpr noexcept]
float QVector2D::lengthSquared() const
返回向量从原点出发的平方长度。这相当于向量与自身的点积。
另请参见 length() 和dotProduct()。
[noexcept]
void QVector2D::normalize()
将当前向量归一化。如果该向量为空向量或向量长度非常接近 1,则不会发生任何操作。
另请参见 length() 和normalized() 。
[noexcept]
QVector2D QVector2D::normalized() const
返回此向量的归一化单位向量形式。
如果该向量为空,则返回一个空向量。如果向量的长度非常接近 1,那么向量将按原样返回。否则,将返回长度为 1 的归一化形式的向量。
[constexpr noexcept]
void QVector2D::setX(float x)
将此点的 x 坐标设置为给定的有限x 坐标。
[constexpr noexcept]
void QVector2D::setY(float y)
将此点的 y 坐标设置为给定的有限y 坐标。
[constexpr noexcept]
QPoint QVector2D::toPoint() const
返回QPoint 形式的二维向量。每个坐标都四舍五入为最接近的整数。
另请参阅 toPointF() 和toVector3D()。
[constexpr noexcept]
QPointF QVector2D::toPointF() const
返回此二维向量的QPointF 形式。
另请参阅 toPoint() 和toVector3D()。
[constexpr noexcept]
QVector3D QVector2D::toVector3D() const
返回此二维向量的三维形式,Z 坐标设为零。
另请参阅 toVector4D() 和toPoint()。
[constexpr noexcept]
QVector4D QVector2D::toVector4D() const
返回此二维向量的四维形式,其中 z 和 w 坐标设为零。
另请参阅 toVector3D() 和toPoint()。
[constexpr noexcept]
float QVector2D::x() const
返回该点的 x 坐标。
[constexpr noexcept]
float QVector2D::y() const
返回该点的 Y 坐标。
QVariant QVector2D::operator QVariant() const
以QVariant 的形式返回二维向量。
[constexpr noexcept]
QVector2D &QVector2D::operator*=(QVector2D vector)
将此向量的每个分量与vector 的相应分量相乘,并返回此向量的引用。
注意: 这不是此向量与vector 的交叉积(其分量相加等于此向量与vector 的点积)。
另请参见 operator/=() 和operator*()。
[constexpr noexcept]
QVector2D &QVector2D::operator*=(float factor)
将此向量的坐标与给定的有限factor 相乘,并返回此向量的引用。
另请参阅 operator/=() 和operator*()。
[constexpr noexcept]
QVector2D &QVector2D::operator+=(QVector2D vector)
将给定的vector 添加到此向量,并返回此向量的引用。
另请参见 operator-=().
[constexpr noexcept]
QVector2D &QVector2D::operator-=(QVector2D vector)
从该向量减去给定的vector ,并返回该向量的引用。
另请参见 operator+=().
[constexpr]
QVector2D &QVector2D::operator/=(QVector2D vector)
将此向量的每个分量除以vector 的相应分量,并返回此向量的引用。
vector 必须没有零或 NaN 的分量。
另请参见 operator*=() 和operator/()。
[constexpr]
QVector2D &QVector2D::operator/=(float divisor)
将此向量的坐标除以给定的divisor ,并返回此向量的引用。divisor 不能为零或 NaN。
另请参见 operator*=()。
[constexpr]
float &QVector2D::operator[](int i)
以可修改的引用形式返回位于i 索引位置的向量分量。
i 必须是向量中的有效索引位置(即 0 <= < 2)。i
[constexpr]
float QVector2D::operator[](int i) const
返回位于i 索引位置的向量分量。
i 必须是向量中的有效索引位置(即 0 <= < 2)。i
相关非会员
[noexcept]
bool qFuzzyCompare(QVector2D v1, QVector2D v2)
如果v1 和v2 相等,则返回true
,允许在浮点比较中使用较小的模糊系数;否则返回 false。
[constexpr noexcept]
bool operator!=(QVector2D v1, QVector2D v2)
如果v1 不等于v2 ,则返回true
;否则返回false
。该运算符使用精确浮点比较法。
[constexpr noexcept]
QVector2D operator*(QVector2D v1, QVector2D v2)
返回QVector2D 对象,该对象由v1 的每个分量乘以v2 的相应分量构成。
注意: 从任何意义上讲,这都不是v1 和v2 的交乘。(其分量相加等于v1 和v2 的点积)。
另请参见 QVector2D::operator*=()。
[constexpr noexcept]
QVector2D operator*(QVector2D vector, float factor)
返回给定vector 的副本,并乘以给定的有限factor 。
另请参阅 QVector2D::operator*=() 。
[constexpr noexcept]
QVector2D operator*(float factor, QVector2D vector)
返回给定vector 的副本,并乘以给定的有限factor 。
另请参阅 QVector2D::operator*=() 。
[constexpr noexcept]
QVector2D operator+(QVector2D v1, QVector2D v2)
返回一个QVector2D 对象,它是给定向量v1 和v2 的总和;每个分量分别相加。
另请参见 QVector2D::operator+=().
[constexpr noexcept]
QVector2D operator-(QVector2D v1, QVector2D v2)
返回一个QVector2D 对象,该对象由v2 与v1 相减而得,每个部分分别相减。
另请参阅 QVector2D::operator-=().
[constexpr noexcept]
QVector2D operator-(QVector2D vector)
这是一个重载函数。
返回一个QVector2D 对象,该对象是通过改变给定vector 中每个分量的符号形成的。
等价于QVector2D(0,0) - vector
。
[constexpr]
QVector2D operator/(QVector2D vector, QVector2D divisor)
返回QVector2D 对象,该对象由给定的vector 的每个分量除以给定的divisor 的相应分量构成。
divisor 必须没有零或 NaN 的分量。
另请参见 QVector2D::operator/=()。
[constexpr]
QVector2D operator/(QVector2D vector, float divisor)
返回QVector2D 对象,该对象由给定的vector 的每个分量除以给定的divisor 形成。
divisor 不得为零或 NaN。
另请参阅 QVector2D::operator/=()。
QDataStream &operator<<(QDataStream &stream, QVector2D vector)
将给定的vector 写入给定的stream ,并返回对该数据流的引用。
另请参阅 序列化 Qt 数据类型。
[constexpr noexcept]
bool operator==(QVector2D v1, QVector2D v2)
如果v1 等于v2 ,则返回true
;否则返回false
。该运算符使用精确浮点比较法。
QDataStream &operator>>(QDataStream &stream, QVector2D &vector)
将 2D 向量从给定的stream 读入给定的vector ,并返回对该数据流的引用。
另请参阅 序列化 Qt 数据类型。
© 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.