Qt中設(shè)置屬性setAttribute(Qt::WA_DeleteOnClose)報(bào)錯(cuò)的情況-CSDN博客
在Qt的Gui編程中,經(jīng)常會(huì)用到QWidget和其子類(lèi)作為父控件來(lái)顯示,其上添加有若干控件。
在關(guān)閉QWidget及其子類(lèi)窗口時(shí)需銷(xiāo)毀窗口。
如果是在是定義在棧上:
MainWindow w;
w.show();
在構(gòu)造函數(shù)中增加:setAttribute(Qt::WA_DeleteOnClose)以后,
會(huì)在關(guān)閉時(shí)出現(xiàn)異常,因?yàn)楫?dāng)退出main方法時(shí),會(huì)自動(dòng)銷(xiāo)毀窗口,而setAttribute方法會(huì)使得Qt再次銷(xiāo)毀窗口,造成二次delete,產(chǎn)生報(bào)錯(cuò)。
如果定義在堆上 :文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-846336.html
MainWindow *w = new MainWindow ;
w->show();
? 在關(guān)閉時(shí)main方法不會(huì)自動(dòng)銷(xiāo)毀,而Qt會(huì)根據(jù)setAttribute設(shè)置銷(xiāo)毀。不會(huì)報(bào)錯(cuò)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-846336.html
到了這里,關(guān)于Qt中設(shè)置屬性setAttribute(Qt::WA_DeleteOnClose)報(bào)錯(cuò)的情況的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!