使用QPainter实时绘制线段,主要逻辑是鼠标按下 移动 抬起 都要记录坐标
void MyGraphCal::paintEvent(QPaintEvent *event) {
QPainter painter(this);
if (bLBtnDown) {
QPen pen;
pen.setColor(QColor(0, 0, 255));
painter.setPen(pen);
painter.drawLine(startPoint, endPoint);
}
for (LINESEG *line : m_histroyLine)
painter.drawLine(line->startPoint, line->endPoint);
}
效果展示:
下载地址: