diff --git a/src/ConformToTheEnergySpectrum/ConformToTheEnergySpectrum.cpp b/src/ConformToTheEnergySpectrum/ConformToTheEnergySpectrum.cpp index 05d7367..f9c8630 100644 --- a/src/ConformToTheEnergySpectrum/ConformToTheEnergySpectrum.cpp +++ b/src/ConformToTheEnergySpectrum/ConformToTheEnergySpectrum.cpp @@ -77,10 +77,16 @@ void ConformToTheEnergySpectrum::InitViewWorkspace(const QString &project_name) void ConformToTheEnergySpectrum::SetAnalyzeDataFilename(const QMap &data_files_set) { - const QString& data_filename = data_files_set.first().toString(); - if (!data_filename.isEmpty() && QFileInfo(data_filename).exists()) { - this->_data_filename = data_filename; - this->loadAndProcess(); + _data_filenames.clear(); + for (const QVariant& file_value : data_files_set) { + QString filename = file_value.toString(); + if (!filename.isEmpty() && QFileInfo(filename).exists()) { + _data_filenames.append(filename); + } + } + + if (!_data_filenames.isEmpty()) { + loadAndProcess(); } } @@ -89,11 +95,12 @@ void ConformToTheEnergySpectrum::loadAndProcess() { _busy_indicator->Start(); auto functionToRun = [this]() { - if (_data_filename.isEmpty()) - return; - + if (_data_filenames.isEmpty()) return; std::vector rawData; - io::CSVReader<5> in(QStrToSysPath(_data_filename)); + + for (const QString& filename : _data_filenames) + { + io::CSVReader<5> in(QStrToSysPath(filename)); in.read_header(io::ignore_extra_column, QString(QStringLiteral(u"事件ID")).toStdString(), QString(QStringLiteral(u"板卡号")).toStdString(), @@ -120,6 +127,7 @@ void ConformToTheEnergySpectrum::loadAndProcess() }, Qt::QueuedConnection); return; } + } const int STEP = 1; std::map hist; diff --git a/src/ConformToTheEnergySpectrum/ConformToTheEnergySpectrum.h b/src/ConformToTheEnergySpectrum/ConformToTheEnergySpectrum.h index 4d0f76f..14d9cc2 100644 --- a/src/ConformToTheEnergySpectrum/ConformToTheEnergySpectrum.h +++ b/src/ConformToTheEnergySpectrum/ConformToTheEnergySpectrum.h @@ -32,7 +32,7 @@ private: BusyIndicator* _busy_indicator = nullptr; CustomQwtPlot* _plot = nullptr; QwtPlotCurve* _curve = nullptr; - QString _data_filename; + QStringList _data_filenames; }; #endif // CONFORMTOTHEENERGYSPECTRUM_H