步骤九页面修改

This commit is contained in:
DXC
2026-06-26 17:13:14 +08:00
parent 23f391eedf
commit 14ea72a4e7

View File

@ -150,7 +150,20 @@ class Step9MlPredictPanel(QWidget):
params_layout = QFormLayout()
self.metric = QComboBox()
self.metric.addItems(['test_r2', 'test_rmse', 'test_mae'])
# 使用 addItem("显示的中文", "背后传递的真实英文参数")
self.metric.addItem("R² (决定系数)", "test_r2")
self.metric.addItem("RMSE (均方根误差)", "test_rmse")
self.metric.addItem("MAE (平均绝对误差)", "test_mae")
# 顺手给下拉框加一点现代样式,防止文字拥挤
self.metric.setStyleSheet("""
QComboBox {
padding: 4px 8px;
border: 1px solid #C0C0C0;
border-radius: 4px;
min-height: 24px;
}
""")
params_layout.addRow("模型选择指标:", self.metric)
self.prediction_column = QLineEdit()
@ -160,23 +173,37 @@ class Step9MlPredictPanel(QWidget):
params_group.setLayout(params_layout)
layout.addWidget(params_group)
# 输出路径
# ==========================================
# 卡片 4输出与执行
# ==========================================
output_group = QGroupBox("🚀 输出与执行")
output_layout = QVBoxLayout()
output_layout.setSpacing(16)
output_layout.setContentsMargins(20, 24, 20, 20)
# 输出文件路径
self.output_file = FileSelectWidget(
"输出路径:",
"CSV Files (*.csv);;All Files (*.*)"
)
layout.addWidget(self.output_file)
output_layout.addWidget(self.output_file)
# 启用步骤
self.enable_checkbox = QCheckBox("启用此步骤")
self.enable_checkbox.setChecked(True)
layout.addWidget(self.enable_checkbox)
# 完美对齐的底部按钮栏(已彻底移除多余的启用复选框)
action_layout = QHBoxLayout()
action_layout.addStretch()
# 独立运行按钮
self.run_btn = QPushButton("独立运行此步骤")
self.run_btn.setStyleSheet(ModernStylesheet.get_button_stylesheet('success'))
self.run_btn = QPushButton("独立运行步骤")
# 统一使用 primary 蓝色
self.run_btn.setStyleSheet(ModernStylesheet.get_button_stylesheet('primary'))
self.run_btn.setMinimumWidth(140)
self.run_btn.clicked.connect(self._on_run_single_clicked)
layout.addWidget(self.run_btn)
action_layout.addWidget(self.run_btn)
output_layout.addLayout(action_layout)
output_group.setLayout(output_layout)
# 将打包好的输出卡片添加到主 layout 中
layout.addWidget(output_group)
layout.addStretch()
self.setLayout(layout)
@ -353,7 +380,8 @@ class Step9MlPredictPanel(QWidget):
def get_config(self):
"""获取配置"""
config = {
'metric': self.metric.currentText(),
# 改用 currentData() 获取背后绑定的 'test_r2' 等英文参数,而不是中文文本
'metric': self.metric.currentData(),
'prediction_column': self.prediction_column.text(),
}
sampling_csv_path = self.sampling_csv_file.get_path()
@ -370,7 +398,8 @@ class Step9MlPredictPanel(QWidget):
def set_config(self, config):
"""设置配置"""
if 'metric' in config:
idx = self.metric.findText(config['metric'])
# 改用 findData 去匹配配置里的英文参数,而不是匹配中文
idx = self.metric.findData(config['metric'])
if idx >= 0:
self.metric.setCurrentIndex(idx)
if 'prediction_column' in config: