Skip to content

Latest commit

 

History

History
100 lines (73 loc) · 2.01 KB

File metadata and controls

100 lines (73 loc) · 2.01 KB

Generador de Códigos QR con Python y PySide6

Aplicación creada con PySide6 y pyqrcode. Permite generar un código QR desde un texto ingresado y mostrarlo en la interfaz o en el navegador.

🖥️ Características

  • Interfaz gráfica creada con PySide6.
  • Genera un archivo qr.png automáticamente.
  • Vista previa del QR en la ventana.
  • Opción para abrir el QR en el navegador.

📦 Requisitos

pip install PySide6 pyqrcode pypng

🚀 Cómo usar

  1. Ejecuta el script.
  2. Escribe un texto (email, número, URL, etc.).
  3. Presiona Generar QR para verlo en la interfaz.
  4. Presiona Abrir en navegador si querés verlo con el visor del sistema.

📚 Código principal

import sys
import pyqrcode
from PySide6.QtGui import QPixmap
from PySide6.QtWidgets import (
    QApplication,
    QHBoxLayout,
    QLabel,
    QLineEdit,
    QPushButton,
    QVBoxLayout,
    QWidget,
)

qrcode = None

def qrGui():
    global qrcode
    text = entry.text()
    if not text:
        label.setText("Escribe algo...")
        return

    qrcode = pyqrcode.create(text)
    qrcode.png("qr.png", scale=6)

    pix = QPixmap("qr.png")
    label.setPixmap(pix)

def qrBrowser():
    if qrcode:
        qrcode.show()

app = QApplication(sys.argv)

win = QWidget()
win.resize(400, 400)
win.setWindowTitle("App QRCode")

layout = QVBoxLayout(win)

entry = QLineEdit()
btn = QPushButton("Generar QR")
label = QLabel()
text = QLabel(
    "Escribe aqui lo que quieres que se muestre al escanear el código QR, ej: celular, email, etc."
)

btn.clicked.connect(qrGui)
btn_web = QPushButton("Abrir en navegador")
btn_web.clicked.connect(qrBrowser)

layout.addWidget(text)
layout.addWidget(entry)

row_btns = QHBoxLayout()
row_btns.addWidget(btn)
row_btns.addWidget(btn_web)
layout.addLayout(row_btns)

layout.addWidget(label)

win.show()
app.exec()

📄 Notas

  • Se genera un archivo qr.png en la misma carpeta.
  • Necesitas el paquete pypng para exportar PNG.

📄 Licencia

Libre para usar y modificar.