代码拉取完成,页面将自动刷新
#include "CmdProcess.h"
#include <QProcess>
#include "Log.h"
CmdProcess::CmdProcess(QObject *parent)
: QObject{parent},
p(new QProcess())
{
connect(p, &QProcess::readyReadStandardOutput, this, [=] {
emit readStandardOutput(p->readAllStandardOutput());
});
connect(p, &QProcess::readyReadStandardError, this, [=] {
emit readStandardError(p->readAllStandardError());
});
}
//1. D:/Qt/5.15.2/mingw81_64/bin/qtenv2.bat
//2. windeployqt D:/Code/QtProjects/process_test.exe
bool CmdProcess::StartProcess(const QString& envBatPath, const QString &appPath)
{
p->setProgram("cmd");
p->start();
p->waitForStarted();
auto bat = envBatPath + "\n";
QByteArray windeployqt = "windeployqt " + appPath.toLocal8Bit() + "\n";
p->write(bat.toLocal8Bit());
p->write(windeployqt);
qcout<< "state"<< p->state()<<"id"<<p->processId();
p->waitForFinished(1000);
//TODO:结束进程
p->terminate();
qcout<< "state"<< p->state();
// p->closeWriteChannel();
// if (!p->waitForFinished()) {
// qcout<<"QProcess run failed";
// emit error();
// return false;
// }
emit finished();
return true;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。