在Qt scribble示例中,如何保存绘图数据

时间:2018-06-18 23:35:42

标签: c++ qt qt5

在Qt scribble示例中(位于Qt examples / widgets / scribble /中),用户可以使用鼠标事件绘制笔颜色和笔宽的任何形状。

void ScribbleArea::mouseMoveEvent(QMouseEvent *event)
{
    if ((event->buttons() & Qt::LeftButton) && scribbling)
        drawLineTo(event->pos());
}

void ScribbleArea::mouseReleaseEvent(QMouseEvent *event)
{
    if (event->button() == Qt::LeftButton && scribbling) {
        drawLineTo(event->pos());
        scribbling = false;
    }
}

在原始示例中,无法再修改绘制的线条。我想更改它,以便我可以在绘制线条后更改线条颜色/宽度,还可以将图形保存为“草稿”,以便稍后可以编辑线条颜色/宽度。

我的第一个想法是每次编辑时都保存鼠标事件和重绘形状的点。如果绘图不小并且重绘所有内容的效率似乎很差,则可能需要处理大量数据。有没有更优雅的方式来做到这一点?谢谢。

0 个答案:

没有答案