簡體   English   中英

Qt qDebug不使用QConsoleApplication或QApplication

[英]Qt qDebug not working with QConsoleApplication or QApplication

在使用Qt和Qt Creator開發程序時,我目前遇到了非常煩人的問題。 每當我在使用qDebug()之前嘗試使用qDebug()QCoreApplicationQApplication實例化時,沒有任何輸出,無論我是在Qt Creator中運行程序還是從普通shell運行(我使用的是Fedora Linux btw)。 例如,即使是以下簡單代碼也會失敗:

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

有誰知道該怎么辦這個問題? 先謝謝,馬呂斯

為了更好的格式化,我添加了這個新的解決方案,marius仍然在這個bugzilla中找到了它。

編輯~/.config/QtProject/qtlogging.ini並添加:

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

最后一行是為moved mouse消息禁用spammy調試日志記錄。

可以在此處找到有關此文檔的文檔: 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();
}

好吧,我發現問題是什么,它確實是Fedora,但它是新的標准配置。 見這里: https//forum.qt.io/topic/54820/

這個幫助對我(在用戶bashrc文件中):

export QT_LOGGING_DEBUG=1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM