From bd40d3d5e017db7cc2bcddfd2c6be1e78f17bf52 Mon Sep 17 00:00:00 2001 From: LemonNexus Date: Tue, 10 Feb 2026 14:29:42 +0000 Subject: [PATCH] fix: remove dynamic setStyleSheet calls to prevent parsing errors - Remove dynamic color changes from _refresh_display - Use fixed colors set during widget creation - Just update text values in _refresh_display - Prevents 'Could not parse stylesheet' errors --- ui/hud_overlay_clean.py | 37 +++++++++---------------------------- 1 file changed, 9 insertions(+), 28 deletions(-) diff --git a/ui/hud_overlay_clean.py b/ui/hud_overlay_clean.py index 16a64bd..404893f 100644 --- a/ui/hud_overlay_clean.py +++ b/ui/hud_overlay_clean.py @@ -787,36 +787,11 @@ class HUDOverlay(QWidget): def _refresh_display(self): """Refresh all display labels.""" try: - # Profit/Loss - if hasattr(self, 'profit_label') and self.profit_label is not None: - try: - profit = self._stats.profit_loss - color = "#7FFF7F" if profit >= 0 else "#FF7F7F" - self.profit_label.setText(f"{profit:+.2f} PED") - try: - self.profit_label.setStyleSheet(f"font-size: 18px; font-weight: bold; color: {color};") - except Exception: - pass # Stylesheet error, ignore - except RuntimeError: - pass + # Profit/Loss - just update text, no dynamic stylesheet + self._safe_set_text('profit_label', f"{self._stats.profit_loss:+.2f} PED") # Return % - if hasattr(self, 'return_label') and self.return_label is not None: - try: - ret = self._stats.return_percentage - if ret >= 100: - color = "#7FFF7F" - elif ret >= 90: - color = "#FFFF7F" - else: - color = "#FF7F7F" - self.return_label.setText(f"{ret:.1f}%") - try: - self.return_label.setStyleSheet(f"font-size: 16px; font-weight: bold; color: {color};") - except Exception: - pass # Stylesheet error, ignore - except RuntimeError: - pass + self._safe_set_text('return_label', f"{self._stats.return_percentage:.1f}%") # Total Cost + Loot breakdown + Highest self._safe_set_text('total_cost_label', f"Cost: {self._stats.cost_total:.2f}") @@ -854,6 +829,12 @@ class HUDOverlay(QWidget): except Exception as e: logger.error(f"Error in _refresh_display: {e}") + # Skills + if hasattr(self, 'skills_label'): + self._safe_set_text('skills_label', f"Skills: {self._stats.total_skill_gained:.2f}") + except Exception as e: + logger.error(f"Error in _refresh_display: {e}") + # === Public Update Methods === def update_loot(self, value_ped: Decimal, is_shrapnel: bool = False):