Qt标准输出。 cout没有打印

时间:2011-09-27 08:04:33

标签: c++ qt stdout cout

我在这个论坛上已经看到了这个问题,但我不知道为什么建议的答案在我的案例中不起作用。所以我试着要求其他洗脱。

我是c ++ Qt编程的完整新手。 我刚刚让我的Qt crator在linux下运行。

我不明白为什么我的:

cout << "This does not appear";
当qdebug

时,

不会在控制台中打印

qDebug() << "This appears";

这是我的.pro文件中包含的内容:

QT       += core gui

TARGET = aaa
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp \
    IeplcModule.cpp

HEADERS  += mainwindow.h \
    IeplcModule.h

FORMS    += mainwindow.ui

#enable console
CONFIG += console

有什么想法吗?

干杯,

斯特凡诺

5 个答案:

答案 0 :(得分:22)

尝试使用cout << "asdf" << endl;

可能Qt设置iostream以便仅在新线路上进行刷新。

答案 1 :(得分:1)

STDOUT是否可能重定向? qDebug prints to STDERR by default

答案 2 :(得分:1)

当使用CDB(Windows调试器)进行调试并且不在专用终端窗口中而是在QtCreator输出面板中运行应用程序时,将issuestd::cout/std::cerr一起使用。 qDebug之所以有效,是因为在这种情况下它有一个窍门。 因此,在这种情况下,唯一的解决方案是启用“在终端中运行”选项。 有关更多信息,请单击上面的Qt错误跟踪器链接。

答案 3 :(得分:0)

你有#include <iostream>吗?我没有在代码中看到任何包含。 我认为qdebugcout非常相似。

答案 4 :(得分:0)

确保在console文件中启用了.pro配置。即:

CONFIG += console