У меня есть QVector<QPoint>
m_vertices и QVector<QLine>
в моем drawingWidget.h
В настоящее время я пытаюсь создать простой инструмент для рисования, куда я могу добавить вершины и линии. Мне удалось нарисовать несколько вершин на моем "MainWindow
", но я не могу понять, как я могу реализовать линию между созданными вершинами.
По сути, у меня есть две созданные точки и нажатием левой мыши кнопка на первой вершине и левая кнопка мыши на второй вершине ... она должна создать линию между ними.
Как я могу это сделать?
void DrawingWidget::paintEvent(QPaintEvent *event) {
QPainter painter(this);
painter.fillRect(event->rect(), Qt::blue);
painter.setBrush(Qt::black);
for(int i = 0; i < m_vertices.size() ; i++) {
painter.drawEllipse(m_vertices[i], 20, 20);
}
}
void DrawingWidget::mousePressEvent(QMouseEvent *event) {
if(m_state == ADD_VERTEX_SELECTED) {
if(event->button() == Qt::LeftButton) {
//m_x = event->x();
//m_y = event->y();
//update();
QPoint point = event->pos();
m_vertices.append(point);
update();
}
}
if(m_state == ADD_LINE_SELECTED) {
if(event->button() == Qt::LeftButton) {
QPoint Startpoint = event->x();
QPoint Endpoint = event->y();
}
}
}