步骤九页面修改
This commit is contained in:
@ -150,7 +150,20 @@ class Step9MlPredictPanel(QWidget):
|
|||||||
params_layout = QFormLayout()
|
params_layout = QFormLayout()
|
||||||
|
|
||||||
self.metric = QComboBox()
|
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)
|
params_layout.addRow("模型选择指标:", self.metric)
|
||||||
|
|
||||||
self.prediction_column = QLineEdit()
|
self.prediction_column = QLineEdit()
|
||||||
@ -160,23 +173,37 @@ class Step9MlPredictPanel(QWidget):
|
|||||||
params_group.setLayout(params_layout)
|
params_group.setLayout(params_layout)
|
||||||
layout.addWidget(params_group)
|
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(
|
self.output_file = FileSelectWidget(
|
||||||
"输出路径:",
|
"输出路径:",
|
||||||
"CSV Files (*.csv);;All Files (*.*)"
|
"CSV Files (*.csv);;All Files (*.*)"
|
||||||
)
|
)
|
||||||
layout.addWidget(self.output_file)
|
output_layout.addWidget(self.output_file)
|
||||||
|
|
||||||
# 启用步骤
|
# 完美对齐的底部按钮栏(已彻底移除多余的启用复选框)
|
||||||
self.enable_checkbox = QCheckBox("启用此步骤")
|
action_layout = QHBoxLayout()
|
||||||
self.enable_checkbox.setChecked(True)
|
action_layout.addStretch()
|
||||||
layout.addWidget(self.enable_checkbox)
|
|
||||||
|
|
||||||
# 独立运行按钮
|
self.run_btn = QPushButton("独立运行步骤")
|
||||||
self.run_btn = QPushButton("独立运行此步骤")
|
# 统一使用 primary 蓝色
|
||||||
self.run_btn.setStyleSheet(ModernStylesheet.get_button_stylesheet('success'))
|
self.run_btn.setStyleSheet(ModernStylesheet.get_button_stylesheet('primary'))
|
||||||
|
self.run_btn.setMinimumWidth(140)
|
||||||
self.run_btn.clicked.connect(self._on_run_single_clicked)
|
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()
|
layout.addStretch()
|
||||||
self.setLayout(layout)
|
self.setLayout(layout)
|
||||||
@ -353,7 +380,8 @@ class Step9MlPredictPanel(QWidget):
|
|||||||
def get_config(self):
|
def get_config(self):
|
||||||
"""获取配置"""
|
"""获取配置"""
|
||||||
config = {
|
config = {
|
||||||
'metric': self.metric.currentText(),
|
# 改用 currentData() 获取背后绑定的 'test_r2' 等英文参数,而不是中文文本
|
||||||
|
'metric': self.metric.currentData(),
|
||||||
'prediction_column': self.prediction_column.text(),
|
'prediction_column': self.prediction_column.text(),
|
||||||
}
|
}
|
||||||
sampling_csv_path = self.sampling_csv_file.get_path()
|
sampling_csv_path = self.sampling_csv_file.get_path()
|
||||||
@ -370,7 +398,8 @@ class Step9MlPredictPanel(QWidget):
|
|||||||
def set_config(self, config):
|
def set_config(self, config):
|
||||||
"""设置配置"""
|
"""设置配置"""
|
||||||
if 'metric' in config:
|
if 'metric' in config:
|
||||||
idx = self.metric.findText(config['metric'])
|
# 改用 findData 去匹配配置里的英文参数,而不是匹配中文
|
||||||
|
idx = self.metric.findData(config['metric'])
|
||||||
if idx >= 0:
|
if idx >= 0:
|
||||||
self.metric.setCurrentIndex(idx)
|
self.metric.setCurrentIndex(idx)
|
||||||
if 'prediction_column' in config:
|
if 'prediction_column' in config:
|
||||||
|
|||||||
Reference in New Issue
Block a user