Compare commits

...

2 Commits

2 changed files with 34 additions and 23 deletions

View File

@ -153,42 +153,56 @@ class Step7InversionPanel(QWidget):
right_layout.setContentsMargins(0, 0, 0, 0)
right_layout.setSpacing(8)
# 按钮工具栏
btn_layout = QHBoxLayout()
btn_layout.setContentsMargins(0, 0, 0, 0)
btn_layout.setSpacing(10)
# 按钮工具栏(拆分为两行,防止控件挤在一行撑宽面板)
btn_wrapper = QVBoxLayout()
btn_wrapper.setContentsMargins(0, 0, 0, 0)
btn_wrapper.setSpacing(5)
btn_layout.addWidget(QLabel("按类别筛选:"))
# 第1行[按类别筛选:] [下拉框] [全选] [清空]
row1 = QHBoxLayout()
row1.setContentsMargins(0, 0, 0, 0)
row1.setSpacing(10)
row1.addWidget(QLabel("按类别筛选:"))
self.category_combo = QComboBox()
self.category_combo.setStyleSheet("""
QComboBox { padding: 4px 8px; border: 1px solid #C0C0C0; border-radius: 4px; min-height: 24px; }
""")
self.category_combo.currentIndexChanged.connect(self._on_category_changed)
btn_layout.addWidget(self.category_combo)
btn_layout.addSpacing(10)
row1.addWidget(self.category_combo)
row1.addSpacing(10)
self.btn_select_all = QPushButton("全选")
self.btn_select_none = QPushButton("清空")
for btn in [self.btn_select_all, self.btn_select_none]:
btn.setStyleSheet(ModernStylesheet.get_button_stylesheet('normal'))
btn.setFixedHeight(30)
row1.addWidget(btn)
row1.addStretch()
# 第2行[仅比值型] [仅浓度型] [重新加载库] [已选: N]
row2 = QHBoxLayout()
row2.setContentsMargins(0, 0, 0, 0)
row2.setSpacing(10)
self.btn_select_ratio = QPushButton("仅比值型")
self.btn_select_conc = QPushButton("仅浓度型")
self.btn_reload = QPushButton("重新加载库")
for btn in [self.btn_select_all, self.btn_select_none,
self.btn_select_ratio, self.btn_select_conc, self.btn_reload]:
base_style = ModernStylesheet.get_button_stylesheet('normal')
btn.setStyleSheet(base_style + "\nQPushButton { padding-left: 14px; padding-right: 14px; }")
for btn in [self.btn_select_ratio, self.btn_select_conc, self.btn_reload]:
btn.setStyleSheet(ModernStylesheet.get_button_stylesheet('normal') +
"\nQPushButton { padding-left: 14px; padding-right: 14px; }")
btn.setFixedHeight(30)
btn.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
btn_layout.addWidget(btn)
btn_layout.addStretch()
row2.addWidget(btn)
self.formula_count_label = QLabel("已选: 0 | 显示: 0 / 共 0 个")
self.formula_count_label.setStyleSheet(
"color: #666666; font-size: 13px; font-weight: bold; padding-right: 10px;")
btn_layout.addWidget(self.formula_count_label)
row2.addWidget(self.formula_count_label)
row2.addStretch()
right_layout.addLayout(btn_layout)
btn_wrapper.addLayout(row1)
btn_wrapper.addLayout(row2)
right_layout.addLayout(btn_wrapper)
# 列表框
self.formula_list = NoScrollPassListWidget()

View File

@ -1107,8 +1107,7 @@ class WaterQualityReportGenerator:
figure_num += 1
maps_found = 0
if tif_files:
n_show = min(len(tif_files), 20)
for i_t, tf in enumerate(tif_files[:n_show]):
for i_t, tf in enumerate(tif_files):
try:
param_name = tf.stem.split('_')[0] if '_' in tf.stem else tf.stem
caption = f"{figure_num} {param_name} 空间分布图"
@ -1122,9 +1121,7 @@ class WaterQualityReportGenerator:
maps_found += 1
except Exception as e:
doc.add_paragraph(f"[专题图插入失败: {tf.name}{e}]")
_next(f"专题图 {i_t+1}/{n_show}")
if len(tif_files) > 20:
doc.add_paragraph(f"... 共 {len(tif_files)} 张专题图,此处仅展示前 20 张。")
_next(f"专题图 {i_t+1}/{len(tif_files)}")
else:
doc.add_paragraph(f"(未找到专题图目录: {thematic_dir}")
if maps_found == 0: