import streamlit as st import qrcode from io import BytesIO from PIL import Image def generate_qr_code(data): qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, ) qr.add_data(data) qr.make(fit=True) img = qr.make_image(fill="black", back_color="white") return img st.title("QR Code Generator") # User input for QR code user_input = st.text_input("Enter text or URL:") if st.button("Generate QR Code"): if user_input: qr_img = generate_qr_code(user_input) # Convert PIL Image to Bytes buffer = BytesIO() qr_img.save(buffer, format="PNG") buffer.seek(0) img_bytes = buffer.getvalue() # Convert to bytes st.image(img_bytes, caption="Your QR Code", use_container_width=True) # Corrected input st.download_button( label="Download QR Code", data=buffer, file_name="qr_code.png", mime="image/png" ) else: st.warning("Please enter text or a URL to generate a QR code.")