81 lines
2.1 KiB
C++
81 lines
2.1 KiB
C++
|
|
#include "WindConverTools.h"
|
|||
|
|
#include "WidgetSettingClass.h"
|
|||
|
|
#include <QFileInfo>
|
|||
|
|
#include <QProcess>
|
|||
|
|
|
|||
|
|
nc2windataTool::nc2windataTool(QString Inncfilepath, QString InwindBinPath, LAMPDataManagerDialog* IndatamanagerDiglog)
|
|||
|
|
{
|
|||
|
|
this->ncfilepath = Inncfilepath;
|
|||
|
|
this->windBinPath = InwindBinPath;
|
|||
|
|
this->datamanagerDiglog = IndatamanagerDiglog;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
nc2windataTool::~nc2windataTool()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
int32_t nc2windataTool::Excute()
|
|||
|
|
{
|
|||
|
|
WidgetSettingClass& config = WidgetSettingClass::instance();
|
|||
|
|
QString pythonPath = config.getWindTool_PythonEnvPath();
|
|||
|
|
QString nc2windToolPath = config.getWindTool_nc2WindDataToolPath();
|
|||
|
|
QString dllPath = config.getWindReaddLLApplicationPath();
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// 2. <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
if (!QFileInfo(pythonPath).exists()) {
|
|||
|
|
qDebug() << u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Python<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -" << pythonPath;
|
|||
|
|
return -1;
|
|||
|
|
}
|
|||
|
|
if (!QFileInfo(nc2windToolPath).exists()) {
|
|||
|
|
qDebug() << u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Python<EFBFBD>ű<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -" << nc2windToolPath;
|
|||
|
|
return -1;
|
|||
|
|
}
|
|||
|
|
if (!QFileInfo(ncfilepath).exists()) {
|
|||
|
|
qDebug() << u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -" << ncfilepath;
|
|||
|
|
return -1;
|
|||
|
|
}
|
|||
|
|
if (!QFileInfo(dllPath).exists()) {
|
|||
|
|
qDebug() << u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -" << dllPath;
|
|||
|
|
return -1;
|
|||
|
|
}
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|||
|
|
QStringList arguments;
|
|||
|
|
arguments
|
|||
|
|
//<< "/c"
|
|||
|
|
//<< pythonPath
|
|||
|
|
<< nc2windToolPath // Python<6F>ű<EFBFBD>·<EFBFBD><C2B7>
|
|||
|
|
<< "-i" << ncfilepath
|
|||
|
|
<< "-o" << windBinPath
|
|||
|
|
<< "-d" << dllPath;
|
|||
|
|
// <20><><EFBFBD><EFBFBD>finished<65>źŵ<C5BA><C5B5><EFBFBD>Ա<EFBFBD>ۺ<EFBFBD><DBBA><EFBFBD>
|
|||
|
|
//connect(m_process, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished),
|
|||
|
|
// this, &nc2windataTool::on_process_finished);
|
|||
|
|
m_process= new QProcess(this);
|
|||
|
|
//m_process->execute("cmd.exe", arguments);
|
|||
|
|
m_process->start(pythonPath, arguments);
|
|||
|
|
if (!m_process->waitForStarted(3000)) { // <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ3<CAB1><33>
|
|||
|
|
qDebug() << u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>" << m_process->errorString();
|
|||
|
|
}
|
|||
|
|
else {
|
|||
|
|
qDebug() << u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void nc2windataTool::on_process_finished(int exitCode, QProcess::ExitStatus exitStatus)
|
|||
|
|
{
|
|||
|
|
if (!QFileInfo(windBinPath).exists()) {
|
|||
|
|
qDebug() << u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -" << windBinPath;
|
|||
|
|
return ;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>
|
|||
|
|
// LAMPDataManagerDialog* IndatamanagerDiglog<6F><67>
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|