Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : QProcess/KProcess: Stdout-Daten lassen sich nicht abfangen



Colin Finck
13-05-2006, 13:36
Hallo,

Ich versuche gerade über QProcess ein Konsolenprogramm (hier "gcc") zu starten und dann den Stdout abzufangen. Leider funktioniert folgender Code nicht:


gccprocess::gccprocess()
{
proc = new QProcess(this);
proc->addArgument("gcc");
proc->addArgument("--version");
connect(proc, SIGNAL(readyReadStdout()), this, SLOT(stdout_in()));

if(proc->start())
qDebug("process started");
else
qDebug("process not started");
}

void gccprocess::stdout_in()
{
qDebug("stdout_in");
qDebug(proc->readStdout());
}

Im Debug-Fenster von KDevelop wird zwar "process started" angezeigt, aber nichts aus der stdout_in()-Funktion.
Das gleiche Problem habe ich auch mit der KProcess-Klasse, wenn ich sie entsprechend aufrufe.

Was mache ich hier falsch?

Ich benutze Qt 3.3.5 und KDE 3.5.1 unter Fedora Core 5.

Vielen Dank im Voraus,

Colin Finck

anda_skoa
13-05-2006, 22:52
Bekommst du zur Laufzeit irgendwelche Qt Meldungen? Also ob zB das connect schiefgelaufen ist.

Ciao,
_

Colin Finck
14-05-2006, 07:49
Nein, das ebenfalls nicht.
Wie bereits gesagt erscheint nur "process started".

Beste Grüße,

Colin Finck

anda_skoa
14-05-2006, 13:37
Eigenartig, vielleicht läuft deine Eventloop nicht?

Bei mir funktioniert dein Code einwandfrei (siehe Anhang)

Ciao,
_