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?
You need to connect a slot with the clean up code to the QCoreApplication::aboutToQuit()
signal.
This allows you to delete QObjects with QObject::deleteLater()
and the objects will be deleted as you have not yet left the main application event loop.
If you are using a C library that requires a 'shutdown' call you can normally do that after the return from QCoreApplication::exec()
.
Example for both techniques:
int main(int,char**) { QApplication app; library_init(); QWidget window; window.show(); QObject::connect(&app, SIGNAL(aboutToQuit()), &window, SLOT(closing())); const int retval = app.exec(); library_close(); return retval; }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With