步骤九页面修改
This commit is contained in:
@ -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:
|
||||
|
||||
Reference in New Issue
Block a user