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;
}

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

5

Решение

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

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

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

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

8

Другие решения

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

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

по переменной 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();
}
4

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

1

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

export QT_LOGGING_DEBUG=1
0
По вопросам рекламы [email protected]