qt存储一段画上的坐标点
时间: 2023-08-19 10:40:09 浏览: 112
C++已知圆弧两点坐标和半径计算圆心坐标(VS+Qt工程)
在Qt中,您可以使用QPainter和QPen来绘制线条和点。为了存储一段画上的坐标点,您可以使用一个QList或QVector来存储每个点的坐标值。
以下是一个示例代码,演示如何存储一段坐标点并在窗口中绘制:
```cpp
#include <QPainter>
#include <QPen>
#include <QList> // 或者 #include <QVector>
class MyWidget : public QWidget {
public:
MyWidget(QWidget* parent = nullptr) : QWidget(parent) {}
// 存储坐标点
QList<QPoint> points; // 或者 QVector<QPoint> points;
void paintEvent(QPaintEvent*) override {
QPainter painter(this);
QPen pen(Qt::red, 2);
painter.setPen(pen);
// 绘制线条
for (int i = 0; i < points.size() - 1; ++i) {
painter.drawLine(points[i], points[i + 1]);
}
// 绘制点
pen.setColor(Qt::blue);
painter.setPen(pen);
for (const auto& point : points) {
painter.drawPoint(point);
}
}
};
```
在上述示例代码中,我们定义了一个名为points的QList或QVector,用于存储坐标点。在paintEvent函数中,我们使用QPainter和QPen绘制线条和点,并使用存储的坐标点进行绘制。当需要添加新点时,只需要将点的坐标添加到points列表中即可。
阅读全文