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