# QT + Konsolenausgabe



## Orbit (12. Oktober 2008)

Hallo,
benutze QT 4.1.1 und möchte neben meiner Grafischen Oberfläche auch die Konsole über cout<<"Hallo Welt" nutzen können. Der Compiler (MinGW) meckert nicht wenn ich diese Zeile schreibe, unterdrückt jedoch bei Ausführung die Ausgabe.
Muss man QT dazu umkonfigurieren? oder bitet QT einen eigenen Stream für die Konsole an?
Grüße,
Orbit


----------



## RedWing (13. Oktober 2008)

Hallo,

nein muss man eigtl. nicht. Du solltest ein endl mit auf den Ausgabepuffer rausschieben ansonsten wird der Puffer nicht geleert. Machst du dies?

Ansonsten wäre es saubere wenn du schon Qt verwendest, die Funktion qDebug anstatt cout für solche Zwecke zu nutzen.

http://doc.trolltech.com/3.3/qapplication.html#qDebug

Gruß,
RedWing


----------



## Orbit (13. Oktober 2008)

Hallo,
danke für deine Antwort!
Ich habe folgenden Code (diesmal auch mit qDebug()):

```
#include <QApplication>
#include <QLabel>
#include <iostream.h>

int main(int argc, char *argv[]){
	cout << "Hello" << endl;
	qDebug("Hello");
	QApplication app(argc, argv);

	QLabel *label = new QLabel("Title");
		
	label->show();
		
	return app.exec();
}
```

wenn ich das in der Konsole ausführe, wird nur das Label gezeigt. Beide erwarteten Konsolenausgaben werden unterdrückt!
Grüße,
Orbit


----------



## Orbit (15. Oktober 2008)

Hmm hat denn keiner eine Idee woran das liegen könnte? ich bin mit meinem Latein so ziemlich am Ende (sprichwörtlich gemeint, ich kann kein Latein).
Grüße,
Orbit


----------



## RedWing (15. Oktober 2008)

Hallo,

vlt hilft dir das ja weiter:

http://lists.trolltech.com/qt-interest/2001-10/msg00313.html

siehe Doku zu qDebug:



> void qDebug ( const char * msg, ... )
> 
> Prints a debug message msg, or calls the message handler (if it has been installed).
> [...]
> Under X11, the text is printed to stderr. Under Windows, the text is sent to the debugger.



//edit:

Was ich auch noch gefunden habe:
http://lists.trolltech.com/qt-interest/2005-08/thread00053-0.html

Gruß,
RedWing


----------



## deepthroat (15. Oktober 2008)

Hi.

Unter Windows mußt du zusätzlich die Option "-mconsole" bei MinGWs gcc angeben.

Dabei bekommst du dann aber auch ein Konsolenfenster wenn du das Programm startest (was eigentlich eher unüblich/unschön für ein grafisches Programm ist. Evtl. solltest du einfach in eine Datei loggen).

Gruß


----------

