Qt qDebug не работает с QConsoleApplication или QApplication

В настоящее время у меня ужасно раздражающая проблема при разработке программ с использованием Qt и Qt Creator. Всякий раз, когда я пытаюсь использовать qDebug() с QCoreApplication или же QApplication инстанцируется перед использованием qDebug(), нет никакого вывода, запускаю ли я программу в Qt Creator или из обычной оболочки (я использую Fedora Linux, кстати). Например, даже следующий простой код не работает:

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

Кто-нибудь знает, что делать с этой проблемой? Заранее спасибо Мариус

4 ответа

Решение

Для лучшего форматирования я добавляю это новое решение, Мариус все еще нашел его в этом bugzilla.

редактировать ~/.config/QtProject/qtlogging.ini и добавить:

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

Последняя строка должна отключить ведение журнала спама для moved mouse Сообщения.

Документы об этом можно найти здесь: http://doc.qt.io/qt-5/qloggingcategory.html

Это может быть настроено многими способами. Несколько полезных примеров:

по переменной env (cmd):

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

по переменной env (экспорт):

$ 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();
}

Хорошо, я выяснил, в чем проблема, это была действительно Fedora, но это новая стандартная конфигурация. Смотрите здесь: https://forum.qt.io/topic/54820/

Это одна помощь для меня (в файле пользователя bashrc):

export QT_LOGGING_DEBUG=1
Другие вопросы по тегам