gpt4 book ai didi

c++ - Qt5.5 为什么不显示错误信息?

转载 作者:行者123 更新时间:2023-11-28 05:46:00 25 4
gpt4 key购买 nike

我正在使用 Qt5.5 并编写了一个应用程序,如果在应用程序启动期间遇到错误,我想使用 QErrorMessage 来显示错误。

我添加了:

    QErrorMessage errmsg(this);
errmsg.showMessage("HELLO WORLD");

此代码已插入到我的主窗口构造函数的末尾,但没有显示任何内容,为什么?

最佳答案

在文档中您可以阅读:

Shows the given message, message, and returns immediately. If the user has requested for the message not to be shown again, this function does nothing.

这意味着,一旦 errmsg 被销毁,就不能再显示任何消息。您必须使用 QErrorMessage 类作为成员/全局变量:

this->errmsg = new QErrorMessage(this);
this->errmgs->showMessage("HELLO WORLD");

或者,您可以使用 QErrorMessage::qtHandler() - 这将返回错误消息处理程序的全局实例:

QErrorMessage::qtHandler()->showMessage("HELLO WORLD");

但是如果你这样做,请注意 QDebug 也会使用这个:

The static qtHandler() function installs a message handler using qInstallMessageHandler() and creates a QErrorMessage that displays qDebug(), qWarning() and qFatal() messages. This is most useful in environments where no console is available to display warnings and error messages.

关于c++ - Qt5.5 为什么不显示错误信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36196525/

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