测试修改
This commit is contained in:
@ -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("")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user