2010-11-13 68 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 
相關問題