QPointF 类

QPointF 类定义了在平面上使用浮点精度的点。更多信息...

头文件 #include <QPointF>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core

注意: 该类中所有功能均可重入

公共函数

QPointF()
QPointF(const QPoint &point)
QPointF(qreal xpos, qreal ypos)
boolisNull() const
qrealmanhattanLength() const
qreal &rx()
qreal &ry()
voidsetX(qreal x)
voidsetY(qreal y)
CGPointtoCGPoint() const
QPointtoPoint() const
QPointFtransposed() const
qrealx() const
qrealy() const
QPointF &operator*=(qreal factor)
QPointF &operator+=(const QPointF &point)
QPointF &operator-=(const QPointF &point)
QPointF &operator/=(qreal divisor)

静态公共成员

qrealdotProduct(const QPointF &p1, const QPointF &p2)
QPointFfromCGPoint(CGPoint point)
booloperator!=(const QPointF &p1, const QPointF &p2)
QPointFoperator*(const QPointF &point, qreal factor)
QPointFoperator*(qreal factor, const QPointF &point)
QPointFoperator+(const QPointF &p1, const QPointF &p2)
QPointFoperator+(const QPointF &point)
QPointFoperator-(const QPointF &p1, const QPointF &p2)
QPointFoperator-(const QPointF &point)
QPointFoperator/(const QPointF &point, qreal divisor)
QDataStream &operator<<(QDataStream &stream, const QPointF &point)
booloperator==(const QPointF &p1, const QPointF &p2)
QDataStream &operator>>(QDataStream &stream, QPointF &point)

详细描述

一个点由一个x坐标和一个y坐标指定,可以使用x()和y()函数访问。点的坐标使用有限浮点数指定以获得精度。当x和y都设置为0.0时,isNull()函数返回true。可以使用setX()和setY()函数设置(或更改)坐标,或者使用返回坐标引用的rx()和ry()函数(允许直接操作)。

给定一个点p,以下语句都是等效的

QPointF p;

p.setX(p.x() + 1.0);
p += QPointF(1.0, 0.0);
p.rx()++;

QPointF对象也可以用作向量:加法和减法定义与向量相同(每个分量分别相加)。QPointF对象也可以被一个int或一个qreal整除或乘。

此外,QPointF类提供了一个构造函数,将QPoint对象转换为QPointF对象,并提供相应的toPoint()函数,该函数返回一个this点的QPoint副本。最后,QPointF对象可以流式传输,也可以进行比较。

另请参阅QPointQPolygonF

成员函数说明

[constexpr noexcept] QPointF::QPointF()

构建一个空点,即坐标为(0.0,0.0)

另请参阅isNull()。

[constexpr noexcept] QPointF::QPointF(const QPoint &point)

构造给定point的副本。

另请参阅toPoint()和QPoint::toPointF

[constexpr noexcept] QPointF::QPointF(qreal xpos, qreal ypos)

使用给定的坐标xposypos构建一个点。

另请参阅setX()和setY

[static constexpr] qreal QPointF::dotProduct(const QPointF &p1, const QPointF &p2)

QPointF p( 3.1, 7.1);
QPointF q(-1.0, 4.1);
qreal dotProduct = QPointF::dotProduct(p, q);   // dotProduct becomes 26.01

返回p1p2的点积。

[static noexcept] QPointF QPointF::fromCGPoint(CGPoint point)

从CGPointpoint创建一个QRectF

另请参阅toCGPoint

[noexcept] bool QPointF::isNull() const

如果 x 和 y 坐标都设置为 0.0(忽略符号),则返回 true;否则返回 false

[constexpr] qreal QPointF::manhattanLength() const

返回 x() 和 y() 的绝对值之和,传统上称为从原点到该点的向量的“曼哈顿长度”。

另请参阅 QPoint::manhattanLength()。

[constexpr noexcept] qreal &QPointF::rx()

返回对这个点的 x 坐标的引用。

使用引用可以直接操作 x。例如

 QPointF p(1.1, 2.5);
 p.rx()--;   // p becomes (0.1, 2.5)

另请参阅 x() 和 setX()。

[constexpr noexcept] qreal &QPointF::ry()

返回对这个点的 y 坐标的引用。

使用引用可以直接操作 y。例如

QPointF p(1.1, 2.5);
p.ry()++;   // p becomes (1.1, 3.5)

另请参阅 y() 和 setY()。

[constexpr noexcept] void QPointF::setX(qreal x)

将此点的 x 坐标设置给定的有限 x 坐标。

另请参阅 x() 和 setY()。

[constexpr noexcept] void QPointF::setY(qreal y)

将此点的 y 坐标设置给定的有限 y 坐标。

另请参阅 y() 和 setX()。

[noexcept] CGPoint QPointF::toCGPoint() const

从一个 QPointF 创建一个 CGPoint。

另请参阅 fromCGPoint()。

[constexpr] QPoint QPointF::toPoint() const

将此点的坐标四舍五入到最近的整数,并返回具有四舍五入坐标的 QPoint 对象。

另请参阅 QPointF() 和 QPoint::toPointF()。

[constexpr noexcept] QPointF QPointF::transposed() const

返回一个交换了 x 和 y 坐标的点

QPointF{1.0, 2.0}.transposed() // {2.0, 1.0}

另请参阅 x(),y(),setX() 和 setY()。

[constexpr noexcept] qreal QPointF::x() const

返回此点的 x 坐标。

另请参阅 setX() 和 rx()。

[constexpr noexcept] qreal QPointF::y() const

返回此点的y坐标。

另请参阅setY() 和 ry()。

[constexpr] QPointF &QPointF::operator*=(qreal factor)

将这个点的坐标乘以给定的有限 factor,并返回此点的引用。例如

QPointF p(-1.1, 4.1);
p *= 2.5;    // p becomes (-2.75, 10.25)

另请参阅operator/=()。

[constexpr] QPointF &QPointF::operator+=(const QPointF &point)

将给定的 point 加到这个点上,并返回此点的引用。例如

QPointF p( 3.1, 7.1);
QPointF q(-1.0, 4.1);
p += q;    // p becomes (2.1, 11.2)

另请参阅operator-=()。

[constexpr] QPointF &QPointF::operator-=(const QPointF &point)

从该点减去给定的 point,并返回此点的引用。例如

QPointF p( 3.1, 7.1);
QPointF q(-1.0, 4.1);
p -= q;    // p becomes (4.1, 3.0)

另请参阅operator+=()。

[constexpr] QPointF &QPointF::operator/=(qreal divisor)

将x和y都除以给定的 divisor,并返回此点的引用。例如

QPointF p(-2.75, 10.25);
p /= 2.5;           // p becomes (-1.1, 4.1)

divisor 不能为零或NaN。

另请参阅operator*=()。

相关非成员

[constexpr] bool operator!=(const QPointF &p1, const QPointF &p2)

如果 p1p2 差别足够大,则返回 true;否则返回 false

警告:此函数不检查严格不等式;而是使用模糊比较来比较点的坐标。

另请参阅qFuzzyCompare

[constexpr] QPointF operator*(const QPointF &point, qreal factor)

返回给定 point 的副本,并将其乘以给定的有限 factor

另请参阅QPointF::operator*=()。

[constexpr] QPointF operator*(qreal factor, const QPointF &point)

这是一个重载函数。

返回给定 point 的副本,并将其乘以给定的有限 factor

[constexpr] QPointF operator+(const QPointF &p1, const QPointF &p2)

返回一个 QPointF 对象,它是给定的点 p1p2 的总和;各分量分别相加。

另请参阅 QPointF::operator+=

[constexpr] QPointF operator+(const QPointF &point)

返回未修改的 point

[constexpr] QPointF operator-(const QPointF &p1, const QPointF &p2)

返回一个 QPointF 对象,该对象由从 p1 中减去 p2 而形成,每个分量分别减去。

另请参阅 QPointF::operator-=

[constexpr] QPointF operator-(const QPointF &point)

这是一个重载函数。

返回一个 QPointF 对象,该对象通过改变给定 point 的每个分量的符号而形成。

等同于 QPointF(0,0) - point

[constexpr] QPointF operator/(const QPointF &point, qreal divisor)

返回由给定 point 的每个分量除以给定的 divisor 而形成的 QPointF 对象。

divisor 不能为零或NaN。

另请参阅 QPointF::operator/=

QDataStream &operator<<(QDataStream &stream, const QPointF &point)

将给定的 point 写入给定的 stream 并返回对流的引用。

另请参阅 序列化 Qt 数据类型

[constexpr] bool operator==(const QPointF &p1, const QPointF &p2)

如果 p1 大约等于 p2,则返回 true;否则返回 false

警告:此函数不检查严格相等性;相反,它使用模糊比较来比较点的坐标。

另请参阅qFuzzyCompare

QDataStream &operator>>(QDataStream &stream, QPointF &point)

从给定的 stream 中读取一个点到给定的 point 并返回对流的引用。

另请参阅 序列化 Qt 数据类型

© 2024 Qt 公司有限公司。此处包含的文档贡献是各自所有者的版权。本提供的文档受自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可。Qt 及其标志是芬兰及/或世界其他地区的 Qt 公司有限公司的商标。所有其他商标均为其所有者财产。