8

我目前在使用 Qt 和 Qt Creator 开发程序时遇到了一个非常烦人的问题。每当我尝试使用qDebug()with aQCoreApplicationQApplication在 using 之前实例化qDebug()时,无论我是在 Qt Creator 中还是从普通 shell 中运行程序(我正在使用 Fedora Linux 顺便说一句),都没有任何输出。例如,即使是下面的简单代码也会失败:

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    qDebug() << "TestOutput!" << endl;
}

有人知道如何解决这个问题吗?提前致谢, 马吕斯

4

4 回答 4

9

为了更好的格式化,我添加了这个新的解决方案,marius 仍然在这个 bugzilla中找到了它。

编辑~/.config/QtProject/qtlogging.ini并添加:

[Rules]
*.debug=true
qt.qpa.input*.debug=false

最后一行是禁用垃圾邮件调试日志记录moved mouse

于 2015-08-17T07:02:21.733 回答
5

可以在此处找到有关此的文档:http: //doc.qt.io/qt-5/qloggingcategory.html#details

它可以通过多种方式进行配置。几个有用的例子:

通过环境变量(cmd):

$ export QT_LOGGING_RULES="*.debug=true" ./app

通过环境变量(导出):

$ QT_LOGGING_RULES="*.debug=true"
$ ./app

或在代码中:

#include <QCoreApplication>
#include <QLoggingCategory>
int main(int argc, char *argv[])
{
  QCoreApplication a(argc, argv);
  QLoggingCategory::setFilterRules("*.debug=true");
  qDebug() << "Debugging;
  a.exit();
}
于 2016-06-15T19:22:44.837 回答
1

好的,我发现了问题所在,确实是 Fedora,但它是新的标准配置。见这里: https ://forum.qt.io/topic/54820/

于 2015-06-04T18:42:29.907 回答
0

这对我有帮助(在用户 bashrc 文件中):

export QT_LOGGING_DEBUG=1
于 2017-02-14T11:22:18.557 回答