QPoint 类
QPoint 类使用整数精度在平面上定义一个点。 更多...
头文件 | #include <QPoint> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
- 所有成员函数列表,包括继承成员
- QPoint 是 绘画类 的一部分。
注意: 此类中所有函数都是 可重入的。
公共函数
QPoint() | |
QPoint(int xpos, int ypos) | |
bool | isNull() const |
int | manhattanLength() const |
int & | rx() |
int & | ry() |
void | setX(int x) |
void | setY(int y) |
CGPoint | toCGPoint() const |
(since 6.4) QPointF | toPointF() const |
QPoint | transposed() const |
int | x() const |
int | y() const |
QPoint & | operator*=(float factor) |
QPoint & | operator*=(double factor) |
QPoint & | operator*=(int factor) |
QPoint & | operator+=(const QPoint &point) |
QPoint & | operator-=(const QPoint &point) |
QPoint & | operator/=(qreal divisor) |
静态公共成员
int | dotProduct(const QPoint &p1, const QPoint &p2) |
相关非成员
bool | operator!=(const QPoint &p1, const QPoint &p2) |
QPoint | operator*(const QPoint &point, float factor) |
QPoint | operator*(const QPoint &point, double factor) |
QPoint | operator*(const QPoint &point, int factor) |
QPoint | operator*(float factor, const QPoint &point) |
QPoint | operator*(double factor, const QPoint &point) |
QPoint | operator*(int factor, const QPoint &point) |
QPoint | operator+(const QPoint &p1, const QPoint &p2) |
QPoint | operator+(const QPoint &point) |
QPoint | operator-(const QPoint &p1, const QPoint &p2) |
QPoint | operator-(const QPoint &point) |
QPoint | operator/(const QPoint &point, qreal divisor) |
QDataStream & | operator<<(QDataStream &stream, const QPoint &point) |
bool | operator==(const QPoint &p1, const QPoint &p2) |
QDataStream & | operator>>(QDataStream &stream, QPoint &point) |
详细说明
一个点由一个x坐标和一个y坐标指定,可以使用x() 和 y() 函数访问。如果x和y都设置为0,则isNull() 函数返回 true
。可以使用setX() 和 setY() 函数(或 alternatively 使用rx() 和 ry() 函数,这些函数返回坐标的引用(允许直接操作))设置(或更改)坐标。
给定一个点 点,以下语句都是等价的
QPoint 对象也可以用作向量:加法和减法被定义为向量(分别对每个分量进行相加)。QPoint 对象也可以被一个 int
或一个 qreal
除以或乘以。
此外,QPoint 类提供了manhattanLength() 函数,它给出将QPoint对象解释为向量时的长度的廉价近似值。最后,QPoint对象可以流化,也可以进行比较。
成员函数文档
[constexpr noexcept]
QPoint::QPoint()
构造一个空点,即(0, 0)坐标
另请参阅isNull()。
[constexpr noexcept]
QPoint::QPoint(int 横坐标, int 纵坐标)
使用指定的坐标(《横坐标》,《纵坐标》)构造一个点。
[static constexpr]
int QPoint::dotProduct(const QPoint &我1, const QPoint &我2)
QPoint p( 3, 7); QPoint q(-1, 4); int dotProduct = QPoint::dotProduct(p, q); // dotProduct becomes 25
返回 我1 和 我2 的点积。
[constexpr noexcept]
bool QPoint::isNull() const
如果x和y坐标都设置为0则返回 true
,否则返回 false
。
[constexpr]
int QPoint::manhattanLength() const
返回 x() 和 y() 的绝对值的和,传统上称为从原点到点的向量的“曼哈顿长度”。例如
QPoint oldPosition; MyWidget::mouseMoveEvent(QMouseEvent *event) { QPoint point = event->pos() - oldPosition; if (point.manhattanLength() > 3) // the mouse has moved more than 3 pixels since the oldPosition }
这是一个有效且计算快速的近似值
double trueLength = std::sqrt(std::pow(x(), 2) + std::pow(y(), 2));
“曼哈顿长度”的传统起源于像曼哈顿街道一样的矩形网格中旅行的旅行者的距离。
[constexpr noexcept]
int &QPoint::rx()
返回对此点x坐标的引用。
使用引用可以直接操纵x。例如
QPoint p(1, 2); p.rx()--; // p becomes (0, 2)
[constexpr noexcept]
int &QPoint::ry()
返回此点的y坐标的引用。
使用引用可以使您直接操纵y。例如
QPoint p(1, 2); p.ry()++; // p becomes (1, 3)
[constexpr noexcept]
void QPoint::setX(int x)
将此点的x坐标设置为给定的 x 坐标。
[constexpr noexcept]
void QPoint::setY(int y)
将此点的y坐标设置为给定的 y 坐标。
[noexcept]
CGPoint QPoint::toCGPoint() const
从一个QPoint创建一个CGPoint。
另请参阅 QPointF::fromCGPoint()。
[constexpr noexcept, since 6.4]
QPointF QPoint::toPointF() const
以浮点精度返回此点。
此函数在Qt 6.4中引入。
另请参阅 QPointF::toPoint()。
[constexpr noexcept]
QPoint QPoint::transposed() const
返回一个x和y坐标交换的点
QPoint{1, 2}.transposed() // {2, 1}
[constexpr noexcept]
int QPoint::x() const
返回此点的x坐标。
[constexpr noexcept]
int QPoint::y() const
返回此点的y坐标。
[constexpr]
QPoint &QPoint::operator*=(float factor)
将此点的坐标乘以给定的 factor,并返回此点的引用。
注意,由于点是以整数形式存储的,结果会四舍五入到最接近的整数。请使用 QPointF 以获得浮点精度。
另请参阅 operator/=()。
[constexpr]
QPoint &QPoint::operator*=(double factor)
将此点的坐标乘以给定的 factor,并返回此点的引用。例如
QPoint p(-1, 4); p *= 2.5; // p becomes (-3, 10)
注意,由于点是以整数形式存储的,结果会四舍五入到最接近的整数。请使用 QPointF 以获得浮点精度。
另请参阅 operator/=()。
[constexpr]
QPoint &QPoint::operator*=(int factor)
将此点的坐标乘以给定的 factor,并返回此点的引用。
另请参阅 operator/=()。
[constexpr]
QPoint &QPoint::operator+=(const QPoint &point)
将给定的 point 添加到此点上并返回对此点的引用。例如
另请参阅 operator-=。
[constexpr]
QPoint &QPoint::operator-=(const QPoint &point)
从该点减去给定的 point 并返回对此点的引用。例如
另请参阅 operator+=。
[constexpr]
QPoint &QPoint::operator/=(qreal divisor)
这是一个重载函数。
将 x 和 y 均除以给定的 divisor,并返回对此点的引用。例如
QPoint p(-3, 10); p /= 2.5; // p becomes (-1, 4)
注意,由于点是以整数形式存储的,结果会四舍五入到最接近的整数。请使用 QPointF 以获得浮点精度。
另请参阅 operator*=。
相关非成员
[constexpr noexcept]
bool operator!=(const QPoint &p1, const QPoint &p2)
如果 p1 和 p2 不相等,则返回 true
;否则返回 false
。
[constexpr]
QPoint operator*(const QPoint &point, float factor)
返回给定 point 乘以给定 factor 的副本。
注意,由于点是以整数形式存储的,结果会四舍五入到最接近的整数。请使用 QPointF 以获得浮点精度。
另请参阅 QPoint::operator*=。
[constexpr]
QPoint operator*(const QPoint &point, double factor)
返回给定 point 乘以给定 factor 的副本。
注意,由于点是以整数形式存储的,结果会四舍五入到最接近的整数。请使用 QPointF 以获得浮点精度。
另请参阅 QPoint::operator*=。
[constexpr noexcept]
QPoint operator*(const QPoint &point, int factor)
返回给定 point 乘以给定 factor 的副本。
另请参阅 QPoint::operator*=。
[constexpr]
QPoint operator*(float factor, const QPoint &point)
这是一个重载函数。
返回给定 point 乘以给定 factor 的副本。
注意,由于点是以整数形式存储的,结果会四舍五入到最接近的整数。请使用 QPointF 以获得浮点精度。
另请参阅 QPoint::operator*=。
[constexpr]
QPoint operator*(double factor, const QPoint &point)
这是一个重载函数。
返回给定 point 乘以给定 factor 的副本。
注意,由于点是以整数形式存储的,结果会四舍五入到最接近的整数。请使用 QPointF 以获得浮点精度。
另请参阅 QPoint::operator*=。
[constexpr noexcept]
QPoint operator*(int factor, const QPoint &point)
这是一个重载函数。
返回给定 point 乘以给定 factor 的副本。
另请参阅 QPoint::operator*=。
[constexpr noexcept]
QPoint operator+(const QPoint &p1, const QPoint &p2)
返回一个 QPoint 对象,它是给定点 p1 和 p2 的总和;每个组件分别相加。
另请参阅 QPoint::operator+=。
[constexpr noexcept]
QPoint operator+(const QPoint &point)
返回未经修改的 point。
[constexpr noexcept]
QPoint operator-(const QPoint &p1, const QPoint &p2)
返回一个 QPoint 对象,它是从 p1 中减去 p2 所形成的;每个组件分别相减。
另请参阅 QPoint::operator-=。
[constexpr noexcept]
QPoint operator-(const QPoint &point)
这是一个重载函数。
返回将给定 point 的两个组件的符号改变的 QPoint 对象。
等同于 QPoint(0,0) - point
。
[constexpr]
QPoint operator/(const QPoint &point, qreal divisor)
返回将给定 point 的两个组件除以给定 divisor 所形成的 QPoint。
注意,由于点是以整数形式存储的,结果会四舍五入到最接近的整数。请使用 QPointF 以获得浮点精度。
另请参阅 QPoint::operator/=。
QDataStream &operator<<(QDataStream &stream, const QPoint &point)
将给定的 point 写入给定的 stream 并返回对流的引用。
另请参阅 序列化 Qt 数据类型。
[constexpr noexcept]
bool operator==(const QPoint &p1, const QPoint &p2)
如果 p1 和 p2 相等,则返回 true
;否则返回 false。
QDataStream &operator>>(QDataStream &stream, QPoint &point)
从指定流中读取一个点到给定的点,并返回流引用。
另请参阅 序列化 Qt 数据类型。
© 2024 Qt公司有限公司。本文件中的文档贡献均为各自所有者的版权。本文件提供的文档是根据由自由软件基金会发布的GNU自由文档许可证1.3版本授权的。Qt及其相关标志是芬兰和其他世界各地的Qt公司注册商标。所有其他商标均为其各自所有者的财产。