求内存释放方法。该如何解决

求内存释放方法。
C/C++ code

         QWidget *dd = new QWidget();
    dd->setAttribute(Qt::WA_DeleteOnClose);
    dd->resize(this->size());
    QPixmap* tempimage = new QPixmap();
    QPixmap* tempimage1 = new QPixmap();
    *tempimage= QPixmap::grabWidget(this,this->rect());
    QIcon *ss= new QIcon(*tempimage);
    
    *tempimage1 = ss->pixmap(tempimage->size(),QIcon::Disabled);
    QPalette* newpattele = new QPalette();
    *newpattele=dd->palette();
    dd->setAutoFillBackground(true);
    newpattele->setBrush(QPalette::Background,*tempimage1);
    dd->setPalette(*newpattele);
    dd->show();
    delete tempimage;
    delete tempimage1;
    delete ss;
    delete newpattele;



求方法 我上面的代码中 QPixmap 部分内存释放不了。我做测试,程序的内存将不断增加。如何释放掉QPixmap的内存。我需要用完马上释放,来减小资源压力。大牛们出来教教我。

各位大牛出来指导下吧

------解决方案--------------------
分配在栈上行不 不要new
------解决方案--------------------
我以前写过截图程序 没发现这个函数的不能释放啊
------解决方案--------------------
看了一下觉得你没有用到new出来的对象,你只是想用指针作为句柄来操作你得到的对象。所以你可以只是声明一下指针,并不需要把它new出来。当然这样后面的赋值操作也要做相应的修改。


------解决方案--------------------
同理,QPalette* newpattele = new QPalette();
这个也是不需要new的
探讨
看了一下觉得你没有用到new出来的对象,你只是想用指针作为句柄来操作你得到的对象。所以你可以只是声明一下指针,并不需要把它new出来。当然这样后面的赋值操作也要做相应的修改。

------解决方案--------------------
试一下小秘书,不错哦。。。**********************************************
欢迎使用 **** 小秘书
http://blog.****.net/whowhen21
**********************************************
------解决方案--------------------
应该是可以释放的,你可以看一下程序的其他地方有没有问题,或是你调用其他的函数造成的内存泄露,另外你也可以缩小一下问题代码的范围,同时也可以用非常简短的代码测试一下,看时候有问题。

希望能够帮到你!
------解决方案--------------------
使用QPixmap tempimage;不要new,
把QPixmap分配到栈上,不要分配到堆上;
------解决方案--------------------
QPixmap* tempimage1 = new QPixmap();
....
*tempimage1 = ss->pixmap(tempimage->size(),QIcon::Disabled);
总觉得这么写很别扭。你把它改成:
QPixmap* tempimage1 = new QPixmap( ss->pixmap(tempimage->size(),QIcon::Disabled) );
看看
------解决方案--------------------
看了一眼代码就感觉有错啊 你那两个tempimage 刚new出来就又指向了其他地址,内存已经丢了啊 怎么释放
------解决方案--------------------
delete顺序改一下。