Qt在一些关键时刻,建议保存数据

connect(qApp, &QGuiApplication::aboutToQuit, [&]{
    // 退出事件循环前 保存数据
});
connect(qApp, &QGuiApplication::commitDataRequest, [&](QSessionManager &manager){
    // 关机、重启、注销前 保存数据
    // 例如Win系统,有时关机缓慢,用户会点击“强制关机”,系统会直接kill剩余进程
    // 所以在得知系统即将关机的时候,便应立即保存数据,以免被kill而错失时机
});
connect(qApp, &QGuiApplication::applicationStateChanged, [&](Qt::ApplicationState state){
    if (Qt::ApplicationSuspended == state){
        // 程序被挂起前 保存数据;例如安卓系统,当用户切换至其他APP时,原APP会“暂停运行”
    }
});

参考链接:http://www.qtcn.org/bbs/read-htm-tid-89370.html

原文地址:https://www.cnblogs.com/tjhd/p/13952155.html