Amazing-Python-Scripts
105 строк · 4.7 Кб
1from tkinter import *2# import os
3import qrcode4from PIL import Image, ImageTk5from resizeimage import resizeimage6
7# QR Code Generator | Designed by Jay Gohel
8
9
10class Qr_Genrator():11def __init__(self, root):12self.root = root13self.root.title("QR Code Generator")14self.root.geometry('900x500+200+50')15self.root.resizable(False, False)16
17title = Label(self.root, text=" QR Code Genrator", font=(18"time new roman", 40), bg="#F96900", fg="white", anchor="w").place(x=0, y=0, relwidth=1)19
20# Variable21self.var_emp_code = StringVar()22self.var_name = StringVar()23self.var_department = StringVar()24self.var_designation = StringVar()25
26# Employee detail window design27emp_Frame = Frame(self.root, bd=2, relief=RIDGE, bg="white")28emp_Frame.place(x=50, y=100, width=500, height=380)29
30emp_title = Label(emp_Frame, text=" Employee Details", font=(31"goudy old style", 20), bg="#FB9316", fg="white").place(x=0, y=0, relwidth=1)32lbl_emp_code = Label(emp_Frame, text=" Employee ID", font=(33"time new roman", 15), bg="white").place(x=20, y=60)34lbl_emp_name = Label(emp_Frame, text=" Name", font=(35"time new roman", 15), bg="white").place(x=20, y=100)36lbl_emp_dept = Label(emp_Frame, text=" Department", font=(37"time new roman", 15), bg="white").place(x=20, y=140)38lbl_emp_designation = Label(emp_Frame, text=" Designation", font=(39"time new roman", 15), bg="white").place(x=20, y=180)40
41text_emp_code = Entry(emp_Frame, font=(42"time new roman", 15), textvariable=self.var_emp_code, bg="lightyellow").place(x=200, y=60)43text_emp_name = Entry(emp_Frame, font=(44"time new roman", 15), textvariable=self.var_name, bg="lightyellow").place(x=200, y=100)45text_emp_dept = Entry(emp_Frame, font=(46"time new roman", 15), textvariable=self.var_department, bg="lightyellow").place(x=200, y=140)47text_emp_designation = Entry(emp_Frame, font=(48"time new roman", 15), textvariable=self.var_designation, bg="lightyellow").place(x=200, y=180)49
50btn_genrator = Button(emp_Frame, text="QR Genrator", command=self.genrate, font=(51"time new roman", 15, "bold"), bg="#2196f3", fg="white").place(x=90, y=250, width=180, height="30")52btn_clear = Button(emp_Frame, text="Clear", command=self.clear, font=(53"time new roman", 15, "bold"), bg="#2196f3", fg="white").place(x=290, y=250, width=120, height="30")54
55self.msg = ""56self.lbl_msg = Label(emp_Frame, text=self.msg, font=(57"time new roman", 15), bg="white", fg="green")58self.lbl_msg.place(x=0, y=320, relwidth=1)59
60# Qr Code window design61qr_Frame = Frame(self.root, bd=2, relief=RIDGE, bg="white")62qr_Frame.place(x=600, y=100, width=250, height=380)63
64emp_title = Label(qr_Frame, text="Employee QR code", font=(65"goudy old style", 15), bg="#FB9316", fg="white").place(x=0, y=0, relwidth=1)66
67self.qr_code = Label(qr_Frame, text="No QR\n available", font=(68"time new roman", 15), bg="#D76C02", fg="white", bd=1, relief=RIDGE)69self.qr_code.place(x=35, y=100, width=180, height=180)70
71def clear(self):72self.var_emp_code.set('')73self.var_name.set('')74self.var_department.set('')75self.var_designation.set('')76self.msg = ""77self.lbl_msg.config(text=self.msg)78self.qr_code.config(image='')79
80def genrate(self):81if self.var_emp_code.get() == '' or self.var_name.get() == '' or self.var_department.get() == '' or self.var_designation.get() == '':82self.msg = "All filed required !!!"83self.lbl_msg.config(text=self.msg, fg="red")84
85else:86qr_data = (87f"Employee Id:{self.var_emp_code.get()}\nEmployee Name:{self.var_name.get()}\nDepartment:{self.var_department.get()}\nDesignation:{self.var_designation.get()}")88qr_code = qrcode.make(qr_data)89# print(qr_code)90qr_code = resizeimage.resize_cover(qr_code, [180, 180])91qr_code.save('./QR-code-Genrator/employee_qr/emp_' +92str(self.var_emp_code.get()+'.png'))93# qr code img update94self.im = ImageTk.PhotoImage(95file='../QR-code-Genrator/employee_qr/emp_'+str(self.var_emp_code.get()+'.png'))96self.qr_code.config(image=self.im)97
98# updating noti99self.msg = "QR genrated Successful!!"100self.lbl_msg.config(text=self.msg, fg="green")101
102
103root = Tk()104obj = Qr_Genrator(root)105root.mainloop()106