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

 mobiledu2502939937 发布于 2023-02-13 00:39

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

比方说,你有一个系统托盘图标(QSystemTrayIcon),你隐藏你的表格(QDialog)

this->hide();

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

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

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

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

这是一个错误吗?

1 个回答
  • 默认情况下,Qt应用程序在最后一个窗口关闭时关闭(在您的情况下,关闭时QMessageBox).

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

    qApp()->setQuitOnLastWindowClosed(false);
    

    2023-02-13 01:09 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有