I currently have a terribly annoying problem while developing programs using Qt and Qt Creator. Whenever I try using qDebug()
with a QCoreApplication
or QApplication
instantiated before using qDebug()
, there isn't any output, whether I run the program in Qt Creator or from a normal shell(I'm using Fedora Linux btw). For example, even the following simple code fails:
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "TestOutput!" << endl;
}
Does anybody know what to do about this problem? Thanks in advance, Marius
For better formatting, I add this new solution, marius still found it himself in this bugzilla.
Edit ~/.config/QtProject/qtlogging.ini
and add:
[Rules]
*.debug=true
qt.qpa.input*.debug=false
The last line is to disable spammy debug logging for moved mouse
messages.
Docs around this can be found here: http://doc.qt.io/qt-5/qloggingcategory.html#details
It can be configured in many ways. Few useful examples:
by env variable(cmd):
$ export QT_LOGGING_RULES="*.debug=true" ./app
by env variable(export):
$ QT_LOGGING_RULES="*.debug=true"
$ ./app
or in code:
#include <QCoreApplication>
#include <QLoggingCategory>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QLoggingCategory::setFilterRules("*.debug=true");
qDebug() << "Debugging;
a.exit();
}
OK, I found out what the problem was, it was indeed Fedora, but it's the new standard configuration. See here: https://forum.qt.io/topic/54820/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With