我似乎发现了Qt 5.1的烦人问题
比方说,你有一个系统托盘图标(QSystemTrayIcon),你隐藏你的表格(QDialog)
this->hide();
然后在隐藏表单时,您的应用会显示一个消息框:
QMessageBox::information(0, "Test", "Test");
一旦用户点击确定关闭对话框,程序将以退出代码0退出.因此它不会崩溃,但它会礼貌地退出.
我所知道的唯一解决方法是在Windows上使用WIN32 API和MessageBox函数.这不是我想要做的.
这是一个错误吗?
默认情况下,Qt应用程序在最后一个窗口关闭时关闭(在您的情况下,关闭时QMessageBox
).
您可以添加此代码以使应用程序保持运行:
qApp()->setQuitOnLastWindowClosed(false);