• 5488阅读
  • 6回复

QT的内存泄露问题 [复制链接]

上一主题 下一主题
离线jerrychan
 
只看楼主 倒序阅读 楼主  发表于: 2006-06-13
用UIC自动生成的ui_xxx类没有析构函数,里面的指针都没有释放。这是不是QT的一个bug?
[ 此贴被XChinux在2006-06-13 18:47重新编辑 ]
离线carbuncle
只看该作者 1楼 发表于: 2006-06-13
QObject会自动释放的
离线fygenius

只看该作者 2楼 发表于: 2006-06-13
实践证明不会泄漏的
离线jerrychan
只看该作者 3楼 发表于: 2006-06-13
那他是在什么地方释放的?整个进程结束的时候?
另外我用boundschecker报内存泄露
离线carbuncle
只看该作者 4楼 发表于: 2006-06-13
#include <qdialog.h>
#include <qapplication.h>

int main(int argc, char* argv[])
{
QApplication app( argc, argv );
QDialog* pDlgMain = new QDialog();
QDialog* pDlgMainSon = new QDialog(pDlgMain); //<--指定parent

pDlgMain->show();
delete pDlgMain;
pDlgMain = NULL;
pDlgMainSon->show();//完了,崩了

return 0;
}
离线浪漫天使
只看该作者 5楼 发表于: 2006-06-14
回4楼:
你试一下不用qt的类,写两个类似的功能自己定义的类,show就当是打印一句话,看看会不会崩掉?!
离线tuizi7835

只看该作者 6楼 发表于: 2006-06-16
Qt中子对象的生命期都是在它们父对象的生命期内的。在父对象被销毁之前,其所有子对象也要被销毁。可以在“delete pDlgMain;”前加“pDlgMainSon->setParnet(NULL)”试试。
快速回复
限100 字节
 
上一个 下一个