Alles rund um die Programmierung mit Qt
Colin Finck
Beiträge: 6 Registriert: 22. April 2006 19:59
Kontaktdaten:
Beitrag
von Colin Finck » 10. Mai 2006 21:19
Hallo,
Ich versuche gerade unter Qt 3.3 über QProcess ein Konsolenprogramm (hier "gcc") zu starten und dann den Stdout abzufangen. Leider funktioniert folgender Code nicht:
Code: Alles auswählen
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.
Was mache ich hier falsch?
Vielen Dank im Voraus,
Colin Finck
Homepage:
www.ColinFinck.de
Programme, PE Builder-Stuff (Plugins und Linkliste), Add-Ins und Sonstiges
FlorianBecker
Beiträge: 1213 Registriert: 2. Dezember 2004 10:54
Kontaktdaten:
Beitrag
von FlorianBecker » 11. Mai 2006 00:21
Ist stdout_in() als slot definiert?
Poste einmal bitte den vollständigen Source mit Header.
Colin Finck
Beiträge: 6 Registriert: 22. April 2006 19:59
Kontaktdaten:
Beitrag
von Colin Finck » 12. Mai 2006 13:56
Ja, die Funktion ist als Slot definiert.
Hier der Header + Source:
gccprocess.h
Code: Alles auswählen
#ifndef GCCPROCESS_H
#define GCCPROCESS_H
#include <qprocess.h>
class gccprocess : public QObject
{
Q_OBJECT
public:
gccprocess();
public slots:
virtual void stdout_in();
private:
QProcess *proc;
};
#endif
gccprocess.cpp
Code: Alles auswählen
#include "gccprocess.h"
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());
}
#include "gccprocess.moc"
Beste Grüße,
Colin Finck
Homepage:
www.ColinFinck.de
Programme, PE Builder-Stuff (Plugins und Linkliste), Add-Ins und Sonstiges