QPointF 类
QPointF 类定义了在平面上使用浮点精度的点。更多信息...
头文件 | #include <QPointF> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
- 所有成员列表,包括继承的成员
- QPointF 是绘画类的一部分。 Painting Classes.
注意: 该类中所有功能均可重入。
公共函数
QPointF() | |
QPointF(const QPoint &point) | |
QPointF(qreal xpos, qreal ypos) | |
bool | isNull() const |
qreal | manhattanLength() const |
qreal & | rx() |
qreal & | ry() |
void | setX(qreal x) |
void | setY(qreal y) |
CGPoint | toCGPoint() const |
QPoint | toPoint() const |
QPointF | transposed() const |
qreal | x() const |
qreal | y() const |
QPointF & | operator*=(qreal factor) |
QPointF & | operator+=(const QPointF &point) |
QPointF & | operator-=(const QPointF &point) |
QPointF & | operator/=(qreal divisor) |
静态公共成员
qreal | dotProduct(const QPointF &p1, const QPointF &p2) |
QPointF | fromCGPoint(CGPoint point) |
相关非成员
bool | operator!=(const QPointF &p1, const QPointF &p2) |
QPointF | operator*(const QPointF &point, qreal factor) |
QPointF | operator*(qreal factor, const QPointF &point) |
QPointF | operator+(const QPointF &p1, const QPointF &p2) |
QPointF | operator+(const QPointF &point) |
QPointF | operator-(const QPointF &p1, const QPointF &p2) |
QPointF | operator-(const QPointF &point) |
QPointF | operator/(const QPointF &point, qreal divisor) |
QDataStream & | operator<<(QDataStream &stream, const QPointF &point) |
bool | operator==(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对象也可以用作向量:加法和减法定义与向量相同(每个分量分别相加)。QPointF对象也可以被一个int
或一个qreal
整除或乘。
此外,QPointF类提供了一个构造函数,将QPoint对象转换为QPointF对象,并提供相应的toPoint()函数,该函数返回一个this点的QPoint副本。最后,QPointF对象可以流式传输,也可以进行比较。
成员函数说明
[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)
使用给定的坐标xpos和ypos构建一个点。
[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
返回p1和p2的点积。
[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)
[constexpr noexcept]
qreal &QPointF::ry()
返回对这个点的 y 坐标的引用。
使用引用可以直接操作 y。例如
QPointF p(1.1, 2.5); p.ry()++; // p becomes (1.1, 3.5)
[constexpr noexcept]
void QPointF::setX(qreal x)
将此点的 x 坐标设置给定的有限 x 坐标。
[constexpr noexcept]
void QPointF::setY(qreal y)
将此点的 y 坐标设置给定的有限 y 坐标。
[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}
[constexpr noexcept]
qreal QPointF::x() const
返回此点的 x 坐标。
[constexpr noexcept]
qreal QPointF::y() const
返回此点的y坐标。
[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 加到这个点上,并返回此点的引用。例如
另请参阅operator-=()。
[constexpr]
QPointF &QPointF::operator-=(const QPointF &point)
从该点减去给定的 point,并返回此点的引用。例如
另请参阅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)
如果 p1 与 p2 差别足够大,则返回 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 对象,它是给定的点 p1 和 p2 的总和;各分量分别相加。
另请参阅 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 公司有限公司的商标。所有其他商标均为其所有者财产。