我的[[drawingWidget.h]]中有QVector<QPoint>
个m_vertices和QVector<QLine>
我目前正在尝试做一个简单的绘图工具,可以在其中添加顶点和线。我设法在“ 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();
}
}
}
我的drawingWidget.h中有QVectorm_vertices和QVector
。我目前正在尝试做一个简单的绘图工具,可以在其中添加顶点和线。我设法画了多个...