From d1598d2a5a90aa0e4cd07cf2e83b3619b8f2807c Mon Sep 17 00:00:00 2001 From: yw1573 Date: Tue, 28 Jul 2026 10:59:13 +0800 Subject: [PATCH] =?UTF-8?q?style(gui):=20=E6=89=93=E5=8C=85=E9=80=89?= =?UTF-8?q?=E9=A1=B9=E6=A0=87=E7=AD=BE=E5=B7=A6=E5=AF=B9=E9=BD=90=EF=BC=8C?= =?UTF-8?q?=E6=8E=A7=E4=BB=B6=E5=88=97=E8=87=AA=E5=8A=A8=E5=AF=B9=E9=BD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- a1_swap_mod_packer/gui.py | 43 ++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/a1_swap_mod_packer/gui.py b/a1_swap_mod_packer/gui.py index 22e1185..99641d3 100644 --- a/a1_swap_mod_packer/gui.py +++ b/a1_swap_mod_packer/gui.py @@ -585,39 +585,54 @@ class MainWindow(QMainWindow): input_handling_row.addWidget(self.clear_after_build_check) input_handling_row.addStretch(1) - # ---- 网格布局:4 列网格,每行两个选项组 ---- - # 第 0 行:[换盘 G-code | 跨全行] - grid.addWidget(QLabel("换盘 G-code"), 0, 0) + # 标签列统一宽度,控件自然对齐 + left_labels = ["新输入的默认份数", "换盘后等待时间", "最后换盘", "3MF 元数据", "批处理模式"] + right_labels = ["热床降温", "剩余时间板号", "G-code 补丁", "ZIP 压缩", "输入处理"] + # 计算两侧标签最大宽度,保证控件列对齐 + font_metrics = self.fontMetrics() + left_width = max(font_metrics.horizontalAdvance(t) if hasattr(font_metrics, 'horizontalAdvance') else font_metrics.width(t) for t in left_labels) + 12 + right_width = max(font_metrics.horizontalAdvance(t) if hasattr(font_metrics, 'horizontalAdvance') else font_metrics.width(t) for t in right_labels) + 12 + grid.setColumnMinimumWidth(0, left_width) + grid.setColumnMinimumWidth(2, right_width) + # 标签左对齐 + for label_text, row, col in [ + ("换盘 G-code", 0, 0), + ("新输入的默认份数", 1, 0), + ("换盘后等待时间", 2, 0), + ("最后换盘", 3, 0), + ("3MF 元数据", 4, 0), + ("批处理模式", 5, 0), + ("热床降温", 1, 2), + ("剩余时间板号", 2, 2), + ("G-code 补丁", 3, 2), + ("ZIP 压缩", 4, 2), + ("输入处理", 5, 2), + ]: + label = QLabel(label_text) + label.setAlignment(Qt.AlignLeft | Qt.AlignVCenter) + grid.addWidget(label, row, col) + + # 第 0 行:换盘 G-code 跨全行 grid.addLayout(swap_gcode_row, 0, 1, 1, 3) # 第 1 行:默认份数 | 热床降温 - grid.addWidget(QLabel("新输入的默认份数"), 1, 0) grid.addWidget(self.default_copies_spin, 1, 1) - grid.addWidget(QLabel("热床降温"), 1, 2) grid.addLayout(bed_row, 1, 3) # 第 2 行:换盘后等待 | 剩余时间板号 - grid.addWidget(QLabel("换盘后等待时间"), 2, 0) grid.addLayout(eject_wait_row, 2, 1) - grid.addWidget(QLabel("剩余时间板号"), 2, 2) grid.addWidget(self.show_plate_number_check, 2, 3) # 第 3 行:最后换盘 | G-code 补丁 - grid.addWidget(QLabel("最后换盘"), 3, 0) grid.addWidget(self.swap_final_check, 3, 1) - grid.addWidget(QLabel("G-code 补丁"), 3, 2) grid.addLayout(patch_row, 3, 3) # 第 4 行:3MF 元数据 | ZIP 压缩 - grid.addWidget(QLabel("3MF 元数据"), 4, 0) grid.addWidget(self.metadata_combo, 4, 1) - grid.addWidget(QLabel("ZIP 压缩"), 4, 2) grid.addWidget(self.zip_level_combo, 4, 3) # 第 5 行:批处理模式 | 输入处理 - grid.addWidget(QLabel("批处理模式"), 5, 0) grid.addWidget(self.individual_batch_check, 5, 1) - grid.addWidget(QLabel("输入处理"), 5, 2) grid.addLayout(input_handling_row, 5, 3) root.addWidget(options_group) @@ -802,7 +817,7 @@ class MainWindow(QMainWindow): self, "独立批处理模式", "独立批处理模式将每一行输入作为独立的构建任务。\n\n" - "示例:如果你添加了 20 个单板 3MF 文件并设置份数为 5," + "示例:如果你添加了 20 个单盘 3MF 文件并设置份数为 5," "点击“构建 3MF”将创建 20 个独立的打包文件。" "每个输出文件仅包含该源文件重复 5 次的内容。\n\n" "这个功能适用于快速将大量独立的 3MF 作业批量转换为多份数的 "