From 084b4e2b54fdee1af0aba3da2e81989ac363c1ff Mon Sep 17 00:00:00 2001 From: Jules Date: Sat, 21 Mar 2026 22:25:08 +0100 Subject: [PATCH] =?UTF-8?q?QR=20bouton=20:=20plus=20gros,=20plus=20net,=20?= =?UTF-8?q?haute=20r=C3=A9solution?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - box_size=20 pour générer en haute résolution - FastTransformation (pas de lissage = pixels nets) - QR prend 55% de la hauteur du bouton - Fond bleu (#2196F3), QR blanc pour contraste Co-Authored-By: Claude Opus 4.6 (1M context) --- src/ui/screens/home_screen.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/ui/screens/home_screen.py b/src/ui/screens/home_screen.py index fac0824..a60d3ed 100644 --- a/src/ui/screens/home_screen.py +++ b/src/ui/screens/home_screen.py @@ -383,17 +383,20 @@ class HomeScreen(QWidget): # ─── Mini QR sur le bouton ─── def _set_qr_button_icon(self): - """Génère un mini QR code et l'affiche sur le bouton QR Code.""" + """Génère un QR code net et l'affiche en gros sur le bouton QR Code.""" try: import qrcode import io self.config = load_config() upload_url = self.config["upload_url"] - qr = qrcode.QRCode(version=1, box_size=4, border=1) + + # Haute résolution pour la netteté + qr = qrcode.QRCode(version=1, box_size=20, border=1, + error_correction=qrcode.constants.ERROR_CORRECT_M) qr.add_data(upload_url) qr.make(fit=True) - img = qr.make_image(fill_color="white", back_color="transparent") + img = qr.make_image(fill_color="white", back_color="#2196F3") buffer = io.BytesIO() img.save(buffer, format="PNG") @@ -403,11 +406,12 @@ class HomeScreen(QWidget): btn = self.mode_buttons.get("QR Code") if btn: - qr_size = max(40, btn.height() // 3) if btn.height() > 0 else 60 + # QR prend 55% de la hauteur du bouton + qr_size = max(60, int(btn.height() * 0.55)) if btn.height() > 0 else 100 pixmap = QPixmap.fromImage(qimage).scaled( qr_size, qr_size, Qt.AspectRatioMode.KeepAspectRatio, - Qt.TransformationMode.SmoothTransformation + Qt.TransformationMode.FastTransformation # Pas de lissage = QR net ) btn.setIcon(QIcon(pixmap)) from PyQt6.QtCore import QSize