Я столкнулся с проблемой при работе с QGraphicsScene и QPixmap. Последовательно вывожу кадры, снятые камерой. Объект QTimer вызывает функцию updateSingleView() каждые 100 мс. Это моя внутренняя функция:
void CCIGui::updateSingleView()
{
unsigned char *const img = PGRSystem->SnapShot();
QImage Img(img, 1024, 768, QImage::Format_RGB888);
scenes.at(0)->removeItem(scenes.at(0)->items().at(0));
scenes.at(0)->addPixmap(QPixmap::fromImage(Img));
ui_camViews.at(0).graphicsView->setScene(scenes.at(0));
delete [] img;
}
Графический интерфейс отображает вид с камеры, но, к сожалению, есть утечка памяти, при вызове scenes.at(0)->addPixmap(QPixmap::fromImage(Img));
я думал, что функция removeItem
должна уничтожить старый QPixmap, но, видимо, это не так. Знаете ли вы, почему происходит утечка и как ее решить?