41 lines
816 B
C++
41 lines
816 B
C++
|
#include "HxProcess.h"
|
||
|
|
||
|
//QString HxProcess::start(QString command)
|
||
|
//{
|
||
|
// QString output;
|
||
|
|
||
|
// auto process = new QProcess();
|
||
|
// process->start("/bin/bash", QStringList() << "-c" << command);
|
||
|
// process->waitForFinished();
|
||
|
|
||
|
// output = QString(process->readAll());
|
||
|
|
||
|
// process->close();
|
||
|
|
||
|
// return output;
|
||
|
//}
|
||
|
|
||
|
|
||
|
QString HxProcess::start(QString command)
|
||
|
{
|
||
|
QString output;
|
||
|
|
||
|
auto array = command.split(" ");
|
||
|
|
||
|
QString program = array.at(0);
|
||
|
QStringList arguments;
|
||
|
for (int i = 1; i < array.count(); i++)
|
||
|
arguments << array.at(i);
|
||
|
|
||
|
QProcess process;
|
||
|
process.setProcessChannelMode(QProcess::MergedChannels);
|
||
|
process.start(program, arguments);
|
||
|
process.waitForFinished();
|
||
|
|
||
|
output = QString(process.readAll());
|
||
|
|
||
|
process.close();
|
||
|
|
||
|
return output;
|
||
|
}
|