我已经在Fedora 29上使用Qt5编写了一个Qt GUI应用程序。该应用程序使用了各种Qt小部件,可以按预期工作,但是当我从命令行运行它时,我被错误淹没了(例如如下):
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 4225, resource id: 36071117, major code: 40 (TranslateCoords), minor code: 0
例如,如果我有一个简单的QMessageBox,带有一条简单的文本消息和一个“确定”按钮,则单击该“确定”按钮将关闭消息框(如预期的那样),并且总是打印出上面的错误。 / p>
{
QMessageBox::critical(this, "Title", "Fatal Error");
}
当我搜索这些错误时,我看到有人说这些消息是无害的并且可以安全地忽略它们,但是我很难相信Qt会在没有任何错误的情况下努力打印这些消息。
有人知道这些消息是什么意思,我该怎么做才能摆脱它们?
答案 0 :(得分:1)
就您问题的第一部分而言,正如Nikos C.上文所述,这是Qt中的错误。
您始终可以抑制Qt的诊断输出。几年前已经回答:How to redirect qDebug, qWarning, qCritical etc output?
有一些无法抑制的特殊消息(例如qSetGlobalQHashSeed使用printf发出警告),但这很少见。