import qrcode import gradio as gr from io import BytesIO import tempfile def generate_qr(url): """Generates a QR code from a given URL and returns the image and downloadable file path.""" qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4 ) qr.add_data(url) qr.make(fit=True) img = qr.make_image(fill_color="black", back_color="white").convert("RGB") # Save to temporary file temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".png") img.save(temp_file.name) return img, temp_file.name iface = gr.Interface( fn=generate_qr, inputs=gr.Textbox(label="Enter URL"), outputs=[ gr.Image(label="Generated QR Code"), gr.File(label="Download QR Code") ], title="QR Code Generator", description="Enter a URL to generate and download a QR Code." ) iface.launch(share=True)