Root/Software/sie_cg/callapp.cpp

1#include "callapp.h"
2
3callApp::callApp(QString command, QWidget *parent) :
4    QWidget(parent)
5{
6    myProcess = new QProcess;
7    myProcess->start(command);
8    connect(myProcess,SIGNAL(finished(int)),this,SIGNAL(appClosed()));
9    connect(myProcess,SIGNAL(readyReadStandardError()),this,SLOT(newStderr()));
10    connect(myProcess,SIGNAL(readyReadStandardOutput()),this,SLOT(newStdout()));
11}
12
13bool callApp::isRuning()
14{
15    if(myProcess->state()==QProcess::Running)
16        return 1;
17    else
18        return 0;
19}
20
21void callApp::newStderr()
22{
23    myProcess->setReadChannel(QProcess::StandardError);
24    data = myProcess->readAll();
25    emit newData();
26}
27
28void callApp::newStdout()
29{
30    myProcess->setReadChannel(QProcess::StandardOutput);
31    data = myProcess->readAll();
32    emit newData();
33}
34
35void callApp::deleteProcess()
36{
37    myProcess->terminate();
38    myProcess->deleteLater();
39}
40
41void callApp::writeData(QString outData)
42{
43    if(isRuning())
44        myProcess->write(outData.toAscii().data());
45}
46

Archive Download this file

Branches:
master



interactive