File size: 1,088 Bytes
24ffb67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55c886a
24ffb67
 
 
 
 
 
 
 
 
 
 
 
 
55c886a
 
24ffb67
 
 
55c886a
 
 
 
 
 
24ffb67
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import streamlit as st
import qrcode
from PIL import Image
from io import BytesIO

# Function to generate QR code
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_color="black", back_color="white")
    return img

# Streamlit app
st.title('QR Code Generator')
st.write('Enter text or a URL to generate a QR code.')

# User input
user_input = st.text_input("Enter text or URL:")

if user_input:
    # Generate QR code
    img = generate_qr_code(user_input)
    
    # Convert the PIL image to a bytes-like object
    buffer = BytesIO()
    img.save(buffer, format="PNG")
    buffer.seek(0)
    img_bytes = buffer.getvalue()
    
    # Display QR code
    st.image(img_bytes, caption='Generated QR Code')

    # Option to download the QR code
    st.download_button(
        label="Download QR Code",
        data=buffer,
        file_name="qr_code.png",
        mime="image/png"
    )