问题如下:如果应用程序在不活动的情况下关闭,它将正确退出。然而,如果它正在积极处理某件事(例如,在while循环中等待),则主窗口将关闭,但程序将继续在后台运行,这通过打开任务管理器来确认。
我今天花了很长一段时间在谷歌上搜索这个问题并实施可能的解决方案,但都无济于事。quit()函数似乎什么都不做。以下是我尝试过的一些东西:
- 使用CCD_ 1。我知道信号被触发了,因为我尝试将
&app, SLOT(quit())
更改为qApp, SLOT(aboutQt())
,aboutQt窗口短暂弹出 - 在从主窗口按钮运行的函数的开头包含
qApp->quit();
。应用程序确实运行到了那一行,但没有任何效果 - 使用
processEvents()
来确保GUI正在更新 - 在main.cpp中包含
mainWindow.setAttribute(Qt::WA_QuitOnClose);
之类的语句
我只希望应用程序在主窗口关闭时完全退出。
如果有什么不同的话,我使用的是qextserialport库。
我不知道出了什么问题,但当您的插槽实际接收到信号时,您可以从该插槽函数调用exit()
作为解决方法。