QGraphicsView刷新多次后内存溢出问题
浅笑铅华 2018-03-21 09:38:04 在mainwindows里创了个myview(QGraphicsView)然后每0.5s调用update()刷新一次,基本上刷新100多次就内存溢出了,不知道为什么(好像是内存溢出,因为myview一下就什么都不显示了,但没报错)。
void Mymainwindow::paintEvent(QPaintEvent *)
{
QImage image;
image = QImage(800, 600, QImage::Format_RGB32);//画布的初始化大小设为600*500,使用32位颜色
myview->setCacheMode(myview->CacheBackground);
QColor backColor = qRgb(255, 255, 255); //画布初始化背景色使用白色
image.fill(backColor);//对画布进行填充
QPainter painter(&image);
painter.setRenderHint(QPainter::Antialiasing, true);//设置反锯齿模式,好看一点
my::data data = boost::shared_ptr<std::vector<my::datamember>>(new std::vector<my::datamember>);
ServiceData.copydatato(data);//获取数据,数据肯定没问题
painter.setPen(QColor(255, 0, 0));
for (int x = 0; x <data->size(); x++)
{
painter.drawPoint((*data)[x].x* 10 + 400, (*data)[x].y * 10 + 300);
}
painter.drawLine(300, 300, 500, 300);
painter.drawLine(400, 200, 400, 400);
QGraphicsScene *scene = new QGraphicsScene;
scene->addPixmap(QPixmap::fromImage(image));
myview->setScene(scene);
myview->show();
}