diff --git a/app/plots/plot_accuracy.py b/app/plots/plot_accuracy.py index 9b75e18..65c4ed0 100644 --- a/app/plots/plot_accuracy.py +++ b/app/plots/plot_accuracy.py @@ -335,10 +335,14 @@ def plot_accuracy(self: "PQAutomationApp", accuracy_data, test_type): fig.patch.set_facecolor(palette["bg"]) - # 根据当前画布像素尺寸动态缩放字体,避免窗口缩小时文字挤压重叠。 + # 先确保色准页签已激活,再读取真实画布尺寸进行动态缩放。 font_scale = 1.0 try: + self.chart_notebook.select(self.accuracy_chart_frame) + self.chart_notebook.update_idletasks() canvas_widget = self.accuracy_canvas.get_tk_widget() + canvas_widget.update_idletasks() + canvas_widget.update() cw = max(1, int(canvas_widget.winfo_width())) ch = max(1, int(canvas_widget.winfo_height())) font_scale = min(cw / 1000.0, ch / 600.0) @@ -423,11 +427,13 @@ def plot_accuracy(self: "PQAutomationApp", accuracy_data, test_type): except Exception: pass - # Select the tab first so the canvas is visible and winfo_width/height - # return real pixel dimensions before the figure is rendered. + # 重新刷新布局并绘制,确保画布尺寸与 notebook tab 对齐。 self.chart_notebook.select(self.accuracy_chart_frame) - self.accuracy_canvas.get_tk_widget().update_idletasks() + canvas_widget = self.accuracy_canvas.get_tk_widget() + canvas_widget.update_idletasks() + canvas_widget.update() self.accuracy_canvas.draw() + canvas_widget.update_idletasks() class PlotAccuracyMixin: diff --git a/app/runner/test_runner.py b/app/runner/test_runner.py index c5b57c1..c66ed43 100644 --- a/app/runner/test_runner.py +++ b/app/runner/test_runner.py @@ -341,9 +341,9 @@ def send_fix_pattern(self: "PQAutomationApp", mode): self.pattern_service.send_session_pattern(session, 0) if format_changed: - signal_settle = max(1.0, float(getattr(self, "signal_settle_time", 5.0))) + signal_settle = max(1.0, float(getattr(self, "signal_settle_time", 4.0))) self.log_gui.log( - f"信号格式已变化,等待电视重新锁定: {signal_settle:.1f}s(可通过 signal_settle_time 调整)", + f"信号格式已变化,等待电视重新锁定: {signal_settle:.1f}s", level="info", ) else: diff --git a/app/views/pq_debug_panel.py b/app/views/pq_debug_panel.py index 5314391..f46a911 100644 --- a/app/views/pq_debug_panel.py +++ b/app/views/pq_debug_panel.py @@ -612,13 +612,10 @@ class PQDebugPanel: if test_type == "screen_module": self.screen_frame.pack(fill=tk.BOTH, expand=True) - self.app.log_gui.log("显示屏模组调试面板", level="success") elif test_type == "sdr_movie": self.sdr_frame.pack(fill=tk.BOTH, expand=True) - self.app.log_gui.log("显示 SDR 调试面板", level="success") elif test_type == "hdr_movie": self.hdr_frame.pack(fill=tk.BOTH, expand=True) - self.app.log_gui.log("显示 HDR 调试面板", level="success") # ==================== 启用/禁用控制 ==================== @@ -643,39 +640,31 @@ class PQDebugPanel: if test_item == "gamma": self.screen_gray_combo.config(state="readonly") self.screen_test_btn.config(state=tk.NORMAL) - self.app.log_gui.log("屏模组 Gamma 单步调试已启用", level="success") elif test_item == "rgb": self.screen_rgb_combo.config(state="readonly") self.screen_rgb_test_btn.config(state=tk.NORMAL) - self.app.log_gui.log("屏模组 RGB 单步调试已启用", level="success") elif test_type == "sdr_movie": if test_item == "gamma": self.sdr_gray_combo.config(state="readonly") self.sdr_gamma_test_btn.config(state=tk.NORMAL) - self.app.log_gui.log("SDR Gamma 单步调试已启用", level="success") elif test_item == "accuracy": self.sdr_color_combo.config(state="readonly") self.sdr_accuracy_test_btn.config(state=tk.NORMAL) - self.app.log_gui.log("SDR 色准单步调试已启用", level="success") elif test_item == "rgb": self.sdr_rgb_combo.config(state="readonly") self.sdr_rgb_test_btn.config(state=tk.NORMAL) - self.app.log_gui.log("SDR RGB 单步调试已启用", level="success") elif test_type == "hdr_movie": if test_item == "eotf": self.hdr_gray_combo.config(state="readonly") self.hdr_eotf_test_btn.config(state=tk.NORMAL) - self.app.log_gui.log("HDR EOTF 单步调试已启用", level="success") elif test_item == "accuracy": self.hdr_color_combo.config(state="readonly") self.hdr_accuracy_test_btn.config(state=tk.NORMAL) - self.app.log_gui.log("HDR 色准单步调试已启用", level="success") elif test_item == "rgb": self.hdr_rgb_combo.config(state="readonly") self.hdr_rgb_test_btn.config(state=tk.NORMAL) - self.app.log_gui.log("HDR RGB 单步调试已启用", level="success") def disable_all_debug(self): """禁用所有单步调试(新测试开始时调用)""" diff --git a/settings/pq_config.json b/settings/pq_config.json index f30f69f..73fceaf 100644 --- a/settings/pq_config.json +++ b/settings/pq_config.json @@ -1,5 +1,5 @@ { - "current_test_type": "screen_module", + "current_test_type": "sdr_movie", "test_types": { "screen_module": { "name": "屏模组性能测试",