在我的应用程序中,我有一个托盘图标,所以我覆盖了closeEvent,以便在某些事情发生时应用程序“最小化”。但是,我确实希望在按下退出时,应用程序将完全退出。但是,在重写closeEvent并调用函数quit()之后,它似乎绕过了MainWindow析构函数,在那里我有一些代码。
我在closeEvent中缺少什么来正确关闭应用程序,以便调用MainWindow的析构函数,就像没有覆盖closeEvent一样?
我尝试过使用
QMainWindow::closeEvent(event);
以及其他一些事情,但绝不会调用析构函数。
我的近距离事件实施是:
void MainWindow::closeEvent(QCloseEvent * event)
{
if(m_closeCompletely == false)
{
if (trayIcon->isVisible())
{
QMessageBox::information(this, tr("Hello"),
tr("The program will keep running in the "
"system tray. To terminate the program, "
"choose Quit in the context menu "
"of the system tray entry."));
}
}
else
{
event->accept();
}
}