QR bouton : plus gros, plus net, haute résolution
- 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) <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user