Qt QGraphicsView additem()正在变大

Qt QGraphicsView additem()正在变大,qt,qt5,Qt,Qt5,我有一个信号触发QT上的以下插槽: void MainWindow::stream_frame_changed(bool change, const QImage& image) { if (stream == true && change == true) { QPixmap aux = QPixmap::fromImage(image); item->setPixmap(aux); ui->g

我有一个信号触发QT上的以下插槽:

void MainWindow::stream_frame_changed(bool change, const QImage& image)
{
    if (stream == true && change == true)
    {
        QPixmap aux = QPixmap::fromImage(image);
        item->setPixmap(aux);
        ui->graphicsView->scene()->addItem(item);
    }
}
信号每100毫秒发出一次。我注意到有一个内存泄漏,这是有道理的,因为我在场景中添加了许多项,但从未删除它们


我不知道如何删除以前的项目。如果执行clear()函数,窗口将关闭,因此显然这不是一个选项。

您必须重用现有项,而不是创建新项:

*.cpp

关于建造商:

ui->graphicsView->scene()->addItem(item);


但该项未添加到scene@JavierUrrestarazu看到更新了吗。谢谢!
void MainWindow::stream_frame_changed(bool change, const QImage& image)
{
    if (stream == true && change == true)
    {
        QPixmap aux = QPixmap::fromImage(image);
        item->setPixmap(aux);
    }
}