在处理QGraphicsScene和QPixmap时,我解决了一个问题。 我顺序显示由相机捕获的帧。 QTimer对象每100ms调用一次updateSingleView()函数。这是我的内部函数:从QGraphicsScene中删除Qpixmap
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;
}
的GUI显示相机的看法,但可惜的是有内存泄漏,呼吁scenes.at(0)->addPixmap(QPixmap::fromImage(Img));
当我以为removeItem
函数应该摧毁旧的QPixmap,但显然它不是。你知道为什么会发生泄漏以及如何解决它?
什么版本的Qt?我在4.6中遇到了一些麻烦。?在Windows上。 – sje397 2010-11-24 09:12:10
我正在使用Qt版本4.6.3。 – Marcin 2010-11-24 09:24:34