qt画出两点连线并计算两点间距离
时间: 2023-05-11 19:05:15 浏览: 369
可以使用QPainter在QWidget上画出两点连线,使用QPoint计算两点间距离。以下是示例代码:
```cpp
#include <QtWidgets>
class Widget : public QWidget {
public:
Widget(QWidget *parent = nullptr) : QWidget(parent) {}
protected:
void paintEvent(QPaintEvent *) override {
QPainter painter(this);
painter.drawLine(p1, p2);
}
void mousePressEvent(QMouseEvent *event) override {
if (event->button() == Qt::LeftButton) {
if (!p1.isNull() && p2.isNull()) {
p2 = event->pos();
update();
qDebug() << "Distance: " << p1.distanceToPoint(p2);
} else {
p1 = event->pos();
p2 = QPoint();
}
}
}
private:
QPoint p1, p2;
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
Widget widget;
widget.show();
return app.exec();
}
```
在窗口上点击两次,即可画出两点连线,并输出两点间距离。