项目中使用MainWindow框架基础上做开发,在MainWindow的构造函数中,需要做各种资源、配置、外设等的的初始化,如果不成功,给出弹窗提示报错,应该直接退出程序。
按照网上搜索,Qt的程序在任意处想要退出使用了qApp->quit,发现该操作并不是真正的退出,后续程序继续执行,如果调用了MessageBox,会导致MessageBox闪退。
在窗体MainWindow构造函数中正确的退出程序方法:
QTimer *myTimer = new QTimer();
myTimer->start(100);
connect(myTimer, &QTimer::timeout, this, [=](){
//this->close();
qApp->quit();
});
即便如此,还需要检查任务管理器中(Windows平台),程序是否真正退出。