QProcess Std-Kommunikation
Verfasst: 10. November 2010 22:42
Hi Leute,
ich wollte mal austesten ob der Datenaustausch über den std::out funktioniert. Habe schon im Forum nach Threads gesucht, war auch was dabei, funktioniert bei mir nur nicht.
Bislang ist folgender Code entstanden:
Hauptprogramm (*.cpp)
Zu startendes Programm: (*.cpp)
Verstehe gerade nicht, wieso da garnichts ankommt!?
Also das Hauptprogramm startet das 2. Programm, aber nach dem Buttonklick und dem Beenden der 2. Programms bleibt das PlainTextfeld leer...
Wo ist mein Denkfehler?
Testsystem: Win7 mit Qt4.6.2 Non-Commercial
Grüße Pixtar
NACHTRAG: Fehler gefunden .. sendMsg() war nicht als SLOT deklariert!
NACHTRAG2: Ist es ebenfalls möglich Daten vom Hauptprogramm an das 2. Programm zu senden? Wenn ja, wie funktioniert das circa?
ich wollte mal austesten ob der Datenaustausch über den std::out funktioniert. Habe schon im Forum nach Threads gesucht, war auch was dabei, funktioniert bei mir nur nicht.
Hauptprogramm (*.cpp)
Code: Alles auswählen
#include "widget.h"
#include <QDebug>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
myLabel = new QPlainTextEdit(this);
QString secApp = qApp->applicationDirPath()+"/test2.exe";
QProcess myProcess(this);
myProcess.start(secApp);
while ( myProcess.waitForFinished() ) {
QString output = myProcess.readAll();
myLabel->appendPlainText( output );
}
}
Widget::~Widget()
{
}
Code: Alles auswählen
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
tester = new QPushButton("start",this);
connect(tester,SIGNAL(clicked()),this,SLOT(sendMsg()));
}
Widget::~Widget()
{
}
void Widget::sendMsg(){
std::cout << "read output: LOL";
}Wo ist mein Denkfehler?
Testsystem: Win7 mit Qt4.6.2 Non-Commercial
Grüße Pixtar
NACHTRAG: Fehler gefunden .. sendMsg() war nicht als SLOT deklariert!
NACHTRAG2: Ist es ebenfalls möglich Daten vom Hauptprogramm an das 2. Programm zu senden? Wenn ja, wie funktioniert das circa?