Manual-Labeling-Tool/Manual-Labeling-Client/Manual-Label-Tool-Widget/WindConverTools.cpp

81 lines
2.1 KiB
C++
Raw Normal View History

2025-11-20 09:32:46 +00:00
#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>
}