如何在退出时调用一个插槽

sud*_*008 4 c++ qt qt4 signals-slots

我想在我的Qt应用程序关闭之前更新我的数据库.

我想要connect(this, SIGNAL(quit()), this, SLOT(updateDatabase())) 一种方式可以引入一个退出按钮,但如果用户按下可以实现这个功能Alt+F4吗?

mas*_*oud 6

改用信号aboutToQuit().

当应用程序即将退出主事件循环时,例如当事件循环级别降至零时,将发出此信号.这可能在从应用程序内部调用quit()之后或用户关闭整个桌面会话时发生.

如果您的应用程序必须进行最后一秒的清理,则该信号特别有用.请注意,在此状态下无法进行用户交互.

例如 :

connect(this, SIGNAL(aboutToQuit()), this, SLOT(updateDatabase()));
Run Code Online (Sandbox Code Playgroud)