How to do cleaning up on exit in Qt

前端 未结 2 1984
情深已故
情深已故 2021-02-02 10:17

I\'d like to do some house keeping stuff (like writing to a file etc) in a Qt app before the app exits. How can I get to this function (exit or whatever is called) in Qt?

2条回答
  •  傲寒
    傲寒 (楼主)
    2021-02-02 10:58

    In regards to Silas Parker's answer, the Qt documentation says this about the aboutToQuit signal:

    The signal is particularly useful if your application has to do some last-second cleanup. Note that no user interaction is possible in this state.

    If you want your application to be able to cancel the exiting process or allow the user to perform a last minute change before the application closes, then you can do this by handling the closeEvent function in your MainWindow.

    void MainWindow::closeEvent(QCloseEvent *event)
    {
        if (maybeSave()) {
            writeSettings();
            event->accept();
        } else {
            event->ignore();
        }
    }
    

    See the closeEvent documentation for more information.

提交回复
热议问题