【发布时间】:2020-04-27 15:08:59
【问题描述】:
我的 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();
}
}
}
【问题讨论】: