我使用Qt5.5编写了一个应用程序,如果在应用程序启动时遇到错误,我想使用QErrorMessage来显示错误。
我已添加:
QErrorMessage errmsg(this);
errmsg.showMessage("HELLO WORLD");
此代码已插入到我的主窗口构造函数的末尾,没有显示任何内容,为什么?
答案 0 :(得分:1)
在文档中,您可以阅读:
显示给定的消息,消息并立即返回。如果是用户 请求该消息不再显示,此功能 什么都不做。
这意味着,只要errmsg
被销毁,就不会再显示任何消息了。您必须使用QErrorMessage
类作为成员/全局变量:
this->errmsg = new QErrorMessage(this);
this->errmgs->showMessage("HELLO WORLD");
或者,您可以使用QErrorMessage::qtHandler()
- 这将返回错误消息处理程序的全局实例:
QErrorMessage::qtHandler()->showMessage("HELLO WORLD");
但如果你这样做,请注意QDebug也会使用这个:
静态qtHandler()函数使用安装消息处理程序 qInstallMessageHandler()并创建一个显示的QErrorMessage qDebug(),qWarning()和qFatal()消息。这是最有用的 没有控制台可用于显示警告的环境 错误消息。