UID:202628
UID:118494
20091001753:窗口关闭的时候,不代表进程就立马退出。因为它或许会等待其他线程完成。就像 win 系统关机的时候,会提示等待其他程序结束,一样的道理。exit(0)可以确保进程立马退出,就像你在 win 系统关机时,点击 立马关机,不再等其他程序结束。....... (2023-05-16 12:35)
20091001753:关闭窗口触发的其实是 closeEvent 事件,并非析构函数。也就是说,若程序选择等待线程结束(而你的线程迟迟不结束),那么你所定义的析构函数,是没有得到执行的。最简单的方式就是,exit(0),当然事先保存好。 (2023-05-16 16:44)
UID:121167
圣域天子:建议改用 qApp->quit(); (2023-05-16 21:10)
20091001753:exit(),就是整个程序终止,他是C语言官方自带的函数,跟 Qt 没关系qApp->quit(),是 Qt 的程序终止,它依赖于 Qt 事件循环。QThread::exit(),只是终止该线程,而它跟进程结束没有直接关系。你认为窗口关闭了,那么就会立即触发窗口的析构函数,所以怀疑自己检查多遍的析 .. (2023-05-17 11:46)