老网站301跳转新网站,课程设计报告 网站开发,网站代理制作,企点是干嘛用的✨博客主页何曾参静谧的博客#x1f4cc;文章专栏「QT」QT5程序设计#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…
✨博客主页何曾参静谧的博客文章专栏「QT」QT5程序设计全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid函数说明「Math」探秘数学世界 目录 QPoint类详解一、引言二、使用范围三、类的头文件四、类的构造介绍五、共有函数介绍六、Static函数介绍七、运算符重载八、详细代码举例 QPoint类详解
一、引言
QPoint是Qt框架中的一个核心类它用于表示二维平面上的一个点。QPoint类提供了丰富的功能包括点的坐标操作、向量运算以及与其他Qt类的集成。作为Qt绘图和图形界面设计的基础QPoint类在Qt应用程序中扮演着重要的角色。
二、使用范围
QPoint类广泛应用于Qt的图形编程和界面设计中。它不仅可以用于表示图形界面中的点位置还可以作为向量进行加减乘除等运算。此外QPoint类还常用于处理鼠标事件、绘制图形以及进行图形变换等场景。
三、类的头文件
要使用QPoint类需要包含其头文件QPoint。这个头文件定义了QPoint类的所有成员和函数使得开发者可以在自己的Qt应用程序中使用该类。
#include QPoint四、类的构造介绍
QPoint类提供了两种构造函数
默认构造函数创建一个横纵坐标均为0的QPoint对象。
QPoint();参数化构造函数创建一个横纵坐标分别为指定值的QPoint对象。
QPoint(int xpos, int ypos);五、共有函数介绍
QPoint类提供了多个共有函数用于获取和设置点的坐标、进行向量运算等。以下是一些常用的共有函数
int x() const获取点的横坐标。int y() const获取点的纵坐标。void setX(int x)设置点的横坐标。void setY(int y)设置点的纵坐标。QPoint operator(const QPoint point)将当前点与另一个点相加结果存储在当前点中。QPoint operator-(const QPoint point)将当前点与另一个点相减结果存储在当前点中。int manhattanLength() const计算当前点作为向量时的曼哈顿长度即横纵坐标绝对值之和。
六、Static函数介绍
QPoint类还提供了一个静态函数dotProduct用于计算两个点的点积。
static int dotProduct(const QPoint p1, const QPoint p2);该函数接受两个QPoint对象作为参数并返回它们的点积结果。
七、运算符重载
QPoint类重载了多个运算符使得该类可以像基本数据类型一样进行运算。以下是一些重载的运算符
QPoint operator(const QPoint point)两个点相加返回一个新的QPoint对象。QPoint operator-(const QPoint point)两个点相减返回一个新的QPoint对象。QPoint operator*(int factor)将点乘以一个整数因子返回一个新的QPoint对象。QPoint operator/(qreal divisor)将点除以一个实数因子返回一个新的QPoint对象。bool operator(const QPoint other)判断两个点是否相等。bool operator!(const QPoint other)判断两个点是否不相等。
八、详细代码举例
以下是一个使用QPoint类的详细代码示例展示了如何创建QPoint对象、获取和设置坐标、进行向量运算以及计算曼哈顿长度。
#include QCoreApplication
#include QPoint
#include QDebugint main(int argc, char *argv[])
{QCoreApplication a(argc, argv);// 创建两个QPoint对象QPoint point1(3, 4);QPoint point2(1, 2);// 获取点的坐标int x1 point1.x();int y1 point1.y();qDebug() Point1: x1 , y1;int x2 point2.x();int y2 point2.y();qDebug() Point2: x2 , y2;// 设置点的坐标point1.setX(5);point1.setY(6);qDebug() After setting, Point1: point1.x() , point1.y();// 向量运算QPoint point3 point1 point2;qDebug() Point1 Point2 Point3: point3.x() , point3.y();QPoint point4 point1 - point2;qDebug() Point1 - Point2 Point4: point4.x() , point4.y();QPoint point5 point1 * 2;qDebug() Point1 * 2 Point5: point5.x() , point5.y();// 计算曼哈顿长度int length point1.manhattanLength();qDebug() Manhattan length of Point1: length;return a.exec();
}在这个示例中我们首先创建了两个QPoint对象point1和point2并获取了它们的坐标。然后我们设置了point1的新坐标并进行了向量加法、减法和乘法运算。最后我们计算了point1的曼哈顿长度并将所有结果输出到控制台。
通过本文的介绍相信读者已经对Qt中的QPoint类有了深入的了解。在实际开发中可以根据需要灵活运用QPoint类来处理二维平面上的点坐标和向量运算。