【问题标题】:Can I see the program output in Qt-Creator?我可以在 Qt-Creator 中看到程序输出吗?
【发布时间】:2010-11-13 08:32:15
【问题描述】:

我正在使用 Qt Creator 编写一个简单的 OpenGL 程序,它基本上创建了一个 QGLWidget,显示它并运行应用程序循环。我通常更喜欢通过使用实际调试器和手表等的预处理器符号打开和关闭诊断消息进行调试。在 Qt Creator 中,我们有一个名为 Application Output 的选项卡,但我看到的只是 “正在启动 xxx.exe。xxx.exe 以代码 0 退出”。std::coutstd::cerr 没有输出。现在我知道我可以从 cmd.exe 启动我的应用程序(是的,我使用的是 Windows,喜欢它:P)并在那里看到输出,但我希望我可以直接从 IDE 看到输出。那可能吗?谢谢

【问题讨论】:

    标签: c++ qt qt-creator


    【解决方案1】:

    Application Output 窗格通常工作正常。你确定你会看到 cmd.exe 的输出(你真的试过了吗?)? UI 应用程序通常将其关闭,以避免弹出控制台窗口。试试CONFIG += console。还要检查您是否在 Application Output 中看到 qDebug() 消息

    【讨论】:

    • 在linux中我有显示所有控制台输出的经验,在Windows中只有qDebug会一直显示在窗口中。
    • 如果你的程序在 qtcreator 中打印了大量的输出,那么在杀死或退出调试器目标后它会挂起很长一段时间。 qtcreator 的 UI 中的一些 asinine 算法会导致基于输出行数的指数级执行时间增加。多年来一直如此。
    • 不相信?试试int main() { while(1) std::cout << "Test" << std::endl; },让它运行几分钟,然后尝试闯入或杀死程序。 YMMV。
    【解决方案2】:

    只需#include <QDebug> 然后使用qDebug 而不是cout

    qDebug() << "you just clicked ok";
    

    这也有效

    #include <QTextStream>
    QTextStream out(stdout);
    out << "\nHello World!\n";
    

    在 .pro 文件中添加 CONFIG += console 对我不起作用。我想知道为什么?

    我刚刚发现我必须添加“endl;”让 cout 像

    一样工作
    cout << "print this" << endl;
    

    【讨论】:

      【解决方案3】:

      或者,您可以在项目->运行选项中检查“在控制台中运行”设置。这将打开一个新的控制台窗口并在那里显示所有控制台输出(当然如果使用CONFIG += console)。

      【讨论】:

        【解决方案4】:

        尝试: 工具 -> 选项 在“环境”的“常规”选项卡下,将终端条目从:

            x-terminal-emulator -e 
        

            xterm -e
        

        【讨论】:

          【解决方案5】:

          我知道这个答案没有回答原始问题,但是因为在搜索“无应用程序输出”时我们找到了这个答案......

          查看以下答案:https://stackoverflow.com/a/26325743/808101 这仅适用于 qDebug() 和类似函数(不直接输出到 stdout/stderr)。 就我而言,我必须在 QtCreator 中将 QT_ASSUME_STDERR_HAS_CONSOLE 环境变量设置为 1 才能在“应用程序输出”窗口中看到 qDebug() 消息。

          【讨论】:

            猜你喜欢
            • 2012-07-30
            • 1970-01-01
            • 1970-01-01
            • 2021-08-21
            • 1970-01-01
            • 1970-01-01
            • 2022-07-08
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多