2010-11-13 66 views
7

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

回答

8

通常应用程序输出窗格中工作正常。你确定你会看到从cmd.exe输出(你有没有试过?)?通常关闭UI应用程序以避免控制台窗口弹出。试试CONFIG += console。另请检查您是否看到qDebug()消息应用程序输出

+0

在Linux中我有所有控制台输出显示的经验,在Windows中只有qDebug会一直显示在窗口中。 – rubenvb 2010-11-13 11:24:28

+0

如果你的程序在qtcreator中输出很多输出,它会在杀死或退出调试器目标后长时间挂起。 qtcreator UI中的一些asinine算法会根据输出行数增加指数执行时间。多年来一直如此。 – doug65536 2016-04-18 22:51:00

+0

不相信吗?尝试'int main(){while(1)std :: cout <<“Test”<< std :: endl; },让它运行几分钟,然后尝试进入或终止程序。因人而异。 – doug65536 2016-04-18 22:53:26

3

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

5

简单#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; 
+0

绝对是正确答案! – DH1TW 2015-01-13 22:12:14

0

尝试: 工具 - >选项 下的 “环境” 中的 “常规” 选项卡中更改从终端项:

x-terminal-emulator -e 

xterm -e 
相关问题