Я изучаю Qt и хочу произвольно рисовать линии на виджете и продолжать добавлять новые линии. Приведенный ниже код рисует случайную линию в paintEvent при каждом вызове обновления для виджета, но как мне остановить виджет, чтобы очистить ранее нарисованную линию при вызове paintEvent? Есть ли способ просто добавить нарисованные объекты?
Очевидно, что я мог бы хранить все строки и перерисовывать их каждый раз, но это кажется ненужным для того, что я буду делать с этим приложением.
void MainWindow::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(Qt::black, 2));
painter.drawLine(QPointF(qrand() % 300, qrand() % 300), QPointF(qrand() % 300,qrand() % 300));
}
void MainWindow::on_b_toggleDrawing_triggered()
{
this->update();
}