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
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