Qt中创建模态与非模态对话框
1.模态对话框
模态对话框关闭时不会释放内存,必须在关闭主程序时才会释放内存;
模态对话框创建完成后必须完成相应操作(yes/cancel)才能进行其他操作。
Page1 *page = new Page1(this);
page->exec();
2.非模态对话框就
非模态对话框关闭时不会释放内存,必须在关闭主程序时才会释放内存;
非模态对话框创建完成后未完成相应操作(yes/cancel)也可进行其他操作。
page2 *page = new page2(this);
page->show();
3.delete
delete模态对话框,可在关闭模态对话框时就释放内存,不能用于非模态。
Page1 *page = new Page1(this);
page->exec();
delete page;
4.Qt:WA_DeleteOnClose
Qt:WA_DeleteOnClose可用于模态与非模态对话框,皆可使对话框关闭就释放内存。
Page3 *page = new Page3(this);
page->setAttribute(Qt::WA_DeleteOnClose);
//page->exec();
page->show();