QPoint
简介
QPoint 类使用整数精度来定义平面中的一个点
包含的成员
我觉得你可能看不懂的成员使用的方法:
1、dotProduct(const QPoint &, const QPoint &):int,参数是两个点的坐标,return 他们两点之间的点积,即进行向量的点乘运算,即x1x2+y1y2。
QPoint p( 3, 7);
QPoint q(-1, 4);
int lengthSquared = QPoint::dotProduct(p, q); // lengthSquared becomes 25
// -3+28=25,可以用来计算两条直线之间的角度
2、isNull()const : bool,如果 x 和 y 坐标都设置为 0,则返回 true,否则返回 false。
3、manhattanLength() const : int ,曼哈顿长度,返回的是他们的曼哈顿距离d(i,j)=|xi-xj|+|yi-yj|。
4、rx(),ry(),则是对一个点的x,y坐标单独拿出来进行更改
5、transPosed(): const QPoint,交换一个点的x,y坐标(exchanged)。
QPointF
简介
第一眼看上去以为是一个新的类,结果发现就是Float QPoint(哈哈😁),用法的话相信你认真看完前面的QPoint后,这一个类的使用也会恍然大悟。QPointF在浮点精度上表征平面上的点,绝大部分操作都是与QPoint相类似的,细微的差别在于运算符重载以及提供了QPoint与QPointF的相互转换。
成员函数
看完这张图你就会发现QPointF的用法和QPoint基本一样的,里面的很多方法和QPoint一样都是对运算符的重载。
几个要注意的函数:
1、toPoint() const由浮点精度转化为整数精度
2、构造函数那里QPointF(const QPoint& point)由是为了从整数精度转化为浮点精度。