1
- #pip install qrcode[pil]
1
+ # pip install qrcode[pil]
2
2
3
3
import qrcode
4
4
import tkinter as tk
5
5
from tkinter import filedialog
6
6
from PIL import Image , ImageTk
7
7
8
+
8
9
def generate_qr_code (data , filename = 'qr_code.png' , scale = 10 ):
9
-
10
+
10
11
try :
11
- qr = qrcode .QRCode (
12
+ qr = qrcode .QRCode (
12
13
version = None ,
13
14
error_correction = qrcode .constants .ERROR_CORRECT_L ,
14
15
box_size = scale ,
15
16
border = 4 ,
16
17
)
17
- qr .add_data (data )
18
- qr .make (fit = True )
19
- qr_image = qr .make_image (fill_color = "black" , back_color = "white" )
20
- qr_image .save (filename )
18
+ qr .add_data (data )
19
+ qr .make (fit = True )
20
+ qr_image = qr .make_image (fill_color = "black" , back_color = "white" )
21
+ qr_image .save (filename )
22
+
23
+ return filename
21
24
22
- return filename
23
-
24
25
except Exception as e :
25
26
print (f"Error generating QR code: { e } " )
26
27
return None
27
28
29
+
28
30
def generate_qr_button_click ():
29
31
qr_data = qr_data_entry .get ()
30
32
qr_image = generate_qr_code (qr_data )
@@ -33,12 +35,13 @@ def generate_qr_button_click():
33
35
photo = ImageTk .PhotoImage (img )
34
36
35
37
qr_label .config (image = photo )
36
- qr_label .image = photo
38
+ qr_label .image = photo
37
39
38
40
result_label .config (text = "QR code generated successfully." )
39
41
else :
40
42
result_label .config (text = "Failed to generate the QR code." )
41
43
44
+
42
45
def save_qr_button_click ():
43
46
qr_data = qr_data_entry .get ()
44
47
qr_filename = filedialog .asksaveasfilename (defaultextension = ".png" ,
@@ -74,13 +77,15 @@ def save_qr_button_click():
74
77
qr_data_entry = tk .Entry (root , width = 40 )
75
78
qr_data_entry .pack (pady = 5 )
76
79
77
- generate_qr_button = tk .Button (root , text = "Generate QR Code" , command = generate_qr_button_click )
80
+ generate_qr_button = tk .Button (
81
+ root , text = "Generate QR Code" , command = generate_qr_button_click )
78
82
generate_qr_button .pack (pady = 10 )
79
83
80
84
qr_label = tk .Label (root )
81
85
qr_label .pack (pady = 10 )
82
86
83
- save_qr_button = tk .Button (root , text = "Save QR Code" , command = save_qr_button_click )
87
+ save_qr_button = tk .Button (root , text = "Save QR Code" ,
88
+ command = save_qr_button_click )
84
89
save_qr_button .pack (pady = 5 )
85
90
86
91
result_label = tk .Label (root , text = "" , fg = "white" )
0 commit comments