先说方法,很简单,有如下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创建的对象,在堆上的,可以用这个函数。在栈上的,就不要用了。