gpt4 book ai didi

c++ - Qt 5.1 - QMessageBox 错误?如果在隐藏 QDialog 时调用 QMessageBox,则程序退出(0)

转载 作者:搜寻专家 更新时间:2023-10-30 23:58:29 24 4
gpt4 key购买 nike

我似乎发现了 Qt 5.1 的一个烦人的问题。

假设你有一个系统托盘图标(QSystemTrayIcon)并且你隐藏了你的表单(QDialog),所以:

this->hide();

然后,当表单隐藏时,您的应用会显示一个消息框:

QMessageBox::information(0, "Test", "Test");

一旦用户点击“确定”关闭对话框,程序就会以退出代码 0 退出。因此,它不会崩溃,但会礼貌地退出。

我所知道的唯一解决方法是在 Windows 上使用 WIN32 API 和 MessageBox 函数。这不是我想要做的。

这是一个错误吗?

最佳答案

默认情况下,Qt 应用程序会在最后一个窗口关闭时关闭(在您的例子中,当您关闭 QMessageBox 时)。

您可以添加此代码以保持您的应用程序运行:

qApp()->setQuitOnLastWindowClosed(false);

关于c++ - Qt 5.1 - QMessageBox 错误?如果在隐藏 QDialog 时调用 QMessageBox,则程序退出(0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20370656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com