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