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):
|
def resizeEvent(self, event):
|
||||||
super().resizeEvent(event)
|
super().resizeEvent(event)
|
||||||
self._apply_responsive_styles()
|
if not hasattr(self, '_styling'):
|
||||||
|
self._apply_responsive_styles()
|
||||||
|
|
||||||
def _apply_responsive_styles(self):
|
def _apply_responsive_styles(self):
|
||||||
"""Recalcule toutes les tailles proportionnellement à la fenêtre."""
|
"""Recalcule toutes les tailles proportionnellement à la fenêtre."""
|
||||||
|
self._styling = True
|
||||||
m = scale(self, Sizes.MARGIN)
|
m = scale(self, Sizes.MARGIN)
|
||||||
sp = scale(self, Sizes.SPACING)
|
sp = scale(self, Sizes.SPACING)
|
||||||
self.layout().setContentsMargins(m, m, m, m)
|
self.layout().setContentsMargins(m, m, m, m)
|
||||||
@@ -126,6 +128,8 @@ class HomeScreen(QWidget):
|
|||||||
# Hint config
|
# Hint config
|
||||||
self.config_hint.setFont(scaled_font(self, Sizes.HINT))
|
self.config_hint.setFont(scaled_font(self, Sizes.HINT))
|
||||||
|
|
||||||
|
self._styling = False
|
||||||
|
|
||||||
def _make_back_button(self):
|
def _make_back_button(self):
|
||||||
btn = QPushButton("< Retour")
|
btn = QPushButton("< Retour")
|
||||||
btn.clicked.connect(self._show_modes)
|
btn.clicked.connect(self._show_modes)
|
||||||
|
|||||||
Reference in New Issue
Block a user