From cbb56426ec91d72826d44687058cc39869170490 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B5=B7?= Date: Tue, 12 May 2026 10:15:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BD=AC=E6=8D=A2Qt=E5=AD=97?= =?UTF-8?q?=E7=AC=A6=E4=B8=B2=E8=B7=AF=E5=BE=84=E4=B8=BA=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E7=9A=84C=E5=AD=97=E7=AC=A6=E4=B8=B2?= =?UTF-8?q?=EF=BC=88=E8=A7=A3=E5=86=B3=E4=B8=AD=E6=96=87=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=89=E5=AE=9E=E7=8E=B0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/DataProcessWorkPool.cpp | 4 ++-- src/GlobalDefine.h | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/DataProcessWorkPool.cpp b/src/DataProcessWorkPool.cpp index 18238af..e5b8d6d 100644 --- a/src/DataProcessWorkPool.cpp +++ b/src/DataProcessWorkPool.cpp @@ -769,7 +769,7 @@ bool EnergyScaleParticleDataTask::processTask() project_model->SetParticleEnergyDataFilename(energy_spectrum_filename); } catch (const std::exception& e) { out.close(); - std::remove(QStrToSysPath(energy_spectrum_filename)); + std::remove(QStrToSysPath(energy_spectrum_filename).c_str()); const QString& e_what = QString::fromStdString(e.what()); LOG_WARN(QStringLiteral(u"能谱数据处理异常:%1").arg(e_what)); return false; @@ -842,7 +842,7 @@ bool EnergyCountProcessTask::processTask() project_model->SetChannelEnergyCountDataFilename(channel_num, ch_out_filename); } catch (const std::exception& e) { ch_out.close(); - std::remove(QStrToSysPath(ch_out_filename)); + std::remove(QStrToSysPath(ch_out_filename).c_str()); const QString& e_what = QString::fromStdString(e.what()); LOG_WARN(QStringLiteral(u"%1能量计数异常:%2").arg(channel_name).arg(e_what)); } diff --git a/src/GlobalDefine.h b/src/GlobalDefine.h index f3d699a..d30acec 100644 --- a/src/GlobalDefine.h +++ b/src/GlobalDefine.h @@ -8,9 +8,9 @@ #include // 转换Qt字符串路径为系统编码的C字符串(解决中文路径问题) -static const char* QStrToSysPath(const QString& qstr_path) +static std::string QStrToSysPath(const QString& qstr_path) { - std::string sys_path; // 静态变量避免内存释放 + std::string sys_path; #ifdef Q_OS_WIN // Windows:转为GBK编码 QTextCodec* gbkCodec = QTextCodec::codecForName("GBK"); @@ -20,7 +20,7 @@ static const char* QStrToSysPath(const QString& qstr_path) // Linux/Mac:转为UTF-8编码 sys_path = qstr_path.toUtf8().toStdString(); #endif - return sys_path.c_str(); + return sys_path; } static int ExtractNumberFromString(const QString& str) {