Fix boucle de zoom infini — guard contre récursion resizeEvent
_apply_responsive_styles modifiait les widgets, déclenchant resizeEvent en boucle. Ajout d'un flag _styling pour bloquer la récursion. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -76,10 +76,12 @@ class HomeScreen(QWidget):
|
||||
|
||||
def resizeEvent(self, event):
|
||||
super().resizeEvent(event)
|
||||
self._apply_responsive_styles()
|
||||
if not hasattr(self, '_styling'):
|
||||
self._apply_responsive_styles()
|
||||
|
||||
def _apply_responsive_styles(self):
|
||||
"""Recalcule toutes les tailles proportionnellement à la fenêtre."""
|
||||
self._styling = True
|
||||
m = scale(self, Sizes.MARGIN)
|
||||
sp = scale(self, Sizes.SPACING)
|
||||
self.layout().setContentsMargins(m, m, m, m)
|
||||
@@ -126,6 +128,8 @@ class HomeScreen(QWidget):
|
||||
# Hint config
|
||||
self.config_hint.setFont(scaled_font(self, Sizes.HINT))
|
||||
|
||||
self._styling = False
|
||||
|
||||
def _make_back_button(self):
|
||||
btn = QPushButton("< Retour")
|
||||
btn.clicked.connect(self._show_modes)
|
||||
|
||||
Reference in New Issue
Block a user