首页| 论坛| 消息

标题:背景内存问题,请大家指教(已解决)
作者:sikylori
日期:2009-05-08 14:31
内容:

本人做了一个测试,当按钮按下时,切换窗口的背景图片,却发现第切换一次内存占用量就会增加,直到增加到一个最大值,请问有什么方法可以切换了背景图片时不需要增加内存量,代码如下:
void testQT::buttonClick()
{
if (picNum == 0)
{
background.load("./images/home.png"); //内存占用量:15 324KB
update();
picNum++;
}
else if (picNum == 1)
{
background.load("./images/talk.png");//内存占用量:16 892KB
update();
picNum++;
}
else if (picNum == 2)
{
background.load("./images/movie.png"); //内存占用量:16 906KB
update();
picNum++;
}
else
{
background.load("./images/leave.png");//内存占用量:18 392KB
update();
picNum = 0;
}
}
void testQT::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.drawPixmap(0,0,background);
}
怎么只有一个QPixmap但导入多张不同图片时内存量会增加,请高人指教?


#1 [sikylori 05-08 16:50]
哎......,等半天每人回答,我来答回它吧,看帮忙找到的,在 background.load()之前先将cache内的QPixmap清空即可,即在load()前加入一句
QPixmapCache::clear();

回复 发表
主题 版块