QT子窗口关闭时自动释放及注意事项

先说方法,很简单,有如下API函数可用:
testDialog->setAttribute( Qt::WA_DeleteOnClose, true );

他的官方解释如下:

最后,说一个注意事项:

最近写python程序比较多,回过头来,用别人的程序为基础来写一个有界面的C++的新程序,结果:

在直接声明对象这种情况下,我去调用这个函数,代码在下面,结果,在关闭窗口时,程序崩溃。

QWizard myWizard;   
......
......       
myWizard.setAttribute(Qt::WA_DeleteOnClose, true);   
myWizard.show();   
myWizard.exec();

在qwizard、qwizardpage的析构函数里加了打印信息,看了一下,突然想到,应该是我加了这个函数的原因。注释掉就OK了。

所以,用new创建的对象,在堆上的,可以用这个函数。在栈上的,就不要用了。

上一篇:升级一下电脑,CPU换I5-14600K,主板换华硕B760M-推荐阅读


下一篇:C++经典面试题目(二十)