QT中的setAttribute()方法

class MainWindow;构造函数中增加:setAttribute(Qt::WA_DeleteOnClose)以后

MainWindow mainWindow;
mainWindow.setGeometry(30,30,1024,768);
mainWindow.show();

当关闭mainWindow时候,会有异常。改成:

MainWindow* mainWindow = new MainWindow;
    mainWindow->setGeometry(30, 30, 1024, 768);
    mainWindow->show();

这样才可以,原因就是前者定义在栈上,后者定义在堆上,所以当设置了WA_DeleteOnClose以后,调用MainWindow析构函数才不会异常抛出。

你可能感兴趣的:(异常,Class,qt)