测试修改

This commit is contained in:
DXC
2026-06-23 14:39:54 +08:00
parent c4aa246c95
commit b8d263e494
21 changed files with 595 additions and 2706 deletions

View File

@ -100,13 +100,11 @@ class Step8MlTrainPanel(QWidget):
self.create_ml_page()
layout.addWidget(self.ml_page)
# 输出文件路径
# 输出文件路径 (改为文件夹模式)
self.output_path = FileSelectWidget(
"输出文件:",
"CSV Files (*.csv);;All Files (*.*)",
mode="save"
"模型输出目录:",
"Directories"
)
self.output_path.line_edit.setPlaceholderText("自动生成,或手动指定输出文件路径...")
self.output_path.browse_btn.clicked.disconnect()
self.output_path.browse_btn.clicked.connect(self.browse_output_path)
layout.addWidget(self.output_path)
@ -276,28 +274,12 @@ class Step8MlTrainPanel(QWidget):
return ""
def browse_output_path(self):
"""浏览输出文件路径(保存对话框)"""
current = self.output_path.get_path().strip()
if current:
initial_dir = os.path.dirname(current)
initial_file = os.path.basename(current)
else:
initial_dir = ""
initial_file = ""
if not initial_dir or not os.path.isdir(initial_dir):
# 默认定位到 indices 目录
work_dir = self._get_default_work_dir()
initial_dir = resolve_subdir(work_dir, 'indices') if work_dir else ""
if initial_dir and not os.path.isdir(initial_dir):
os.makedirs(initial_dir, exist_ok=True)
file_path, _ = QFileDialog.getSaveFileName(
self, "保存输出文件", os.path.join(initial_dir, initial_file) if initial_file else initial_dir,
"CSV Files (*.csv);;All Files (*.*)"
)
if file_path:
self.output_path.set_path(file_path)
"""浏览输出模型目录"""
work_dir = getattr(self, 'work_dir', "")
initial_dir = os.path.join(work_dir, '8_Machine_Learning_Models') if work_dir else ""
dir_path = QFileDialog.getExistingDirectory(self, "选择模型输出目录", initial_dir)
if dir_path:
self.output_path.set_path(dir_path)
def get_config(self):
"""获取配置"""
@ -381,20 +363,12 @@ class Step8MlTrainPanel(QWidget):
if step6_training_csv:
self.training_csv_file.set_path(step6_training_csv)
# 2. 自动填充输出文件路径(基于工作目录和输入文件名)
# 输入是 training_spectra.csv → 输出 {work_dir}/7_Water_Quality_Indices/training_spectra_indices.csv
# 输入是 sampling_spectra.csv → 输出 {work_dir}/7_Water_Quality_Indices/sampling_spectra_indices.csv
# 2. 自动填充输出目录为 8_Machine_Learning_Models
if self.work_dir:
indices_dir = resolve_subdir(self.work_dir, 'indices')
os.makedirs(indices_dir, exist_ok=True)
training_csv = self.training_csv_file.get_path()
if training_csv:
basename = os.path.splitext(os.path.basename(training_csv))[0]
output_file = f"{basename}_indices.csv"
else:
output_file = "training_spectra_indices.csv"
output_path = os.path.join(indices_dir, output_file).replace('\\', '/')
self.output_path.set_path(output_path)
import os
models_dir = os.path.join(self.work_dir, "8_Machine_Learning_Models").replace('\\', '/')
os.makedirs(models_dir, exist_ok=True)
self.output_path.set_path(models_dir)
else:
self.output_path.set_path("")