Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Imports
- import tkinter
- from tkinter import filedialog
- from tkinter import *
- import json
- window = tkinter.Tk()
- window.title("Employee Time Sheet")
- window.geometry("1280x820")
- window.wm_iconbitmap('file.ico')
- window.configure(background='#fcf9f0')
- #Labels
- titleLbl = tkinter.Label(window, text='RKT Employee Time Sheet',font=(None,16),height=3,background='#fcf9f0')
- titleLbl.grid(row=0, columnspan=8)
- employeeLbl = tkinter.Label(window, text = 'Employee:', height=3,font=(None,12),background= '#fcf9f0')
- employeeLbl.grid(row=1,column=0,padx=1)
- companyLbl = tkinter.Label(window, text = 'Company',background='#fcf9f0', relief=RAISED)
- companyLbl.grid(row=2, column=0,padx=1, ipadx=33)
- leaseLbl = tkinter.Label(window, text = 'Lease',background='#fcf9f0',relief=RAISED)
- leaseLbl.grid(row=2, column=1,padx=1,ipadx=45)
- propLbl = tkinter.Label(window, text = 'Porperty Number', background= '#fcf9f0',relief=RAISED)
- propLbl.grid(row=2, column=2,padx=1,ipadx=13)
- wonLbl = tkinter.Label(window, text = 'Work Order Number',background='#fcf9f0',relief=RAISED)
- wonLbl.grid(row=2, column=3,padx=1,ipadx=5)
- dateLbl = tkinter.Label(window, text = 'Date',background='#fcf9f0',relief=RAISED)
- dateLbl.grid(row=2, column=4,padx=1,ipadx=46)
- tiLbl = tkinter.Label(window, text = 'Time In',background='#fcf9f0',relief=RAISED)
- tiLbl.grid(row=2, column=5,padx=1,ipadx=37)
- toLbl = tkinter.Label(window, text = 'Time Out',background='#fcf9f0',relief=RAISED)
- toLbl.grid(row=2, column=6,padx=1,ipadx=34)
- mileageLbl = tkinter.Label(window, text = 'Mileage',background='#fcf9f0',relief=RAISED)
- mileageLbl.grid(row=2, column=7,padx=1,ipadx=36)
- #Entrys
- #EMPLOYEE
- employeeEnt = tkinter.Entry()
- employeeEnt.grid(row=1,column=1,padx=1,pady=2)
- #COMPANY
- companyEnt1 = tkinter.Entry()
- companyEnt1.grid(row=3, column=0,padx=1,pady=2)
- companyEnt2 = tkinter.Entry()
- companyEnt2.grid(row=4, column=0,padx=1,pady=2)
- companyEnt3 = tkinter.Entry()
- companyEnt3.grid(row=5, column=0,padx=1,pady=2)
- companyEnt4 = tkinter.Entry()
- companyEnt4.grid(row=6, column=0,padx=1,pady=2)
- companyEnt5 = tkinter.Entry()
- companyEnt5.grid(row=7, column=0,padx=1,pady=2)
- companyEnt6 = tkinter.Entry()
- companyEnt6.grid(row=8, column=0,padx=1,pady=2)
- companyEnt7 = tkinter.Entry()
- companyEnt7.grid(row=9, column=0,padx=1,pady=2)
- companyEnt8 = tkinter.Entry()
- companyEnt8.grid(row=10, column=0,padx=1,pady=2)
- companyEnt9 = tkinter.Entry()
- companyEnt9.grid(row=11, column=0,padx=1,pady=2)
- companyEnt10 = tkinter.Entry()
- companyEnt10.grid(row=12, column=0,padx=1,pady=2)
- companyEnt11 = tkinter.Entry()
- companyEnt11.grid(row=13, column=0,padx=1,pady=2)
- companyEnt12 = tkinter.Entry()
- companyEnt12.grid(row=14, column=0,padx=1,pady=2)
- companyEnt13 = tkinter.Entry()
- companyEnt13.grid(row=15, column=0,padx=1,pady=2)
- companyEnt14 = tkinter.Entry()
- companyEnt14.grid(row=16, column=0,padx=1,pady=2)
- companyEnt15 = tkinter.Entry()
- companyEnt15.grid(row=17, column=0,padx=1,pady=2)
- companyEnt16 = tkinter.Entry()
- companyEnt16.grid(row=18, column=0,padx=1,pady=2)
- companyEnt17 = tkinter.Entry()
- companyEnt17.grid(row=19, column=0,padx=1,pady=2)
- companyEnt18 = tkinter.Entry()
- companyEnt18.grid(row=20, column=0,padx=1,pady=2)
- companyEnt19 = tkinter.Entry()
- companyEnt19.grid(row=21, column=0,padx=1,pady=2)
- companyEnt20 = tkinter.Entry()
- companyEnt20.grid(row=22, column=0,padx=1,pady=2)
- #LEASE
- leaseEnt1 = tkinter.Entry()
- leaseEnt1.grid(row=3,column=1,padx=1,pady=2)
- leaseEnt2 = tkinter.Entry()
- leaseEnt2.grid(row=4,column=1,padx=1,pady=2)
- leaseEnt3 = tkinter.Entry()
- leaseEnt3.grid(row=5,column=1,padx=1,pady=2)
- leaseEnt4 = tkinter.Entry()
- leaseEnt4.grid(row=6,column=1,padx=1,pady=2)
- leaseEnt5 = tkinter.Entry()
- leaseEnt5.grid(row=7,column=1,padx=1,pady=2)
- leaseEnt6 = tkinter.Entry()
- leaseEnt6.grid(row=8,column=1,padx=1,pady=2)
- leaseEnt7 = tkinter.Entry()
- leaseEnt7.grid(row=9,column=1,padx=1,pady=2)
- leaseEnt8 = tkinter.Entry()
- leaseEnt8.grid(row=10,column=1,padx=1,pady=2)
- leaseEnt9 = tkinter.Entry()
- leaseEnt9.grid(row=11,column=1,padx=1,pady=2)
- leaseEnt10 = tkinter.Entry()
- leaseEnt10.grid(row=12,column=1,padx=1,pady=2)
- leaseEnt11 = tkinter.Entry()
- leaseEnt11.grid(row=13,column=1,padx=1,pady=2)
- leaseEnt12 = tkinter.Entry()
- leaseEnt12.grid(row=14,column=1,padx=1,pady=2)
- leaseEnt13 = tkinter.Entry()
- leaseEnt13.grid(row=15,column=1,padx=1,pady=2)
- leaseEnt14 = tkinter.Entry()
- leaseEnt14.grid(row=16,column=1,padx=1,pady=2)
- leaseEnt15 = tkinter.Entry()
- leaseEnt15.grid(row=17,column=1,padx=1,pady=2)
- leaseEnt16 = tkinter.Entry()
- leaseEnt16.grid(row=18,column=1,padx=1,pady=2)
- leaseEnt17 = tkinter.Entry()
- leaseEnt17.grid(row=19,column=1,padx=1,pady=2)
- leaseEnt18 = tkinter.Entry()
- leaseEnt18.grid(row=20,column=1,padx=1,pady=2)
- leaseEnt19 = tkinter.Entry()
- leaseEnt19.grid(row=21,column=1,padx=1,pady=2)
- leaseEnt20 = tkinter.Entry()
- leaseEnt20.grid(row=22,column=1,padx=1,pady=2)
- #PROPERTY NUMBER
- propEnt1 = tkinter.Entry()
- propEnt1.grid(row=3,column=2,padx=1,pady=2)
- propEnt2 = tkinter.Entry()
- propEnt2.grid(row=4,column=2,padx=1,pady=2)
- propEnt3 = tkinter.Entry()
- propEnt3.grid(row=5,column=2,padx=1,pady=2)
- propEnt4 = tkinter.Entry()
- propEnt4.grid(row=6,column=2,padx=1,pady=2)
- propEnt5 = tkinter.Entry()
- propEnt5.grid(row=7,column=2,padx=1,pady=2)
- propEnt6 = tkinter.Entry()
- propEnt6.grid(row=8,column=2,padx=1,pady=2)
- propEnt7 = tkinter.Entry()
- propEnt7.grid(row=9,column=2,padx=1,pady=2)
- propEnt8 = tkinter.Entry()
- propEnt8.grid(row=10,column=2,padx=1,pady=2)
- propEnt9 = tkinter.Entry()
- propEnt9.grid(row=11,column=2,padx=1,pady=2)
- propEnt10 = tkinter.Entry()
- propEnt10.grid(row=12,column=2,padx=1,pady=2)
- propEnt11 = tkinter.Entry()
- propEnt11.grid(row=13,column=2,padx=1,pady=2)
- propEnt12 = tkinter.Entry()
- propEnt12.grid(row=14,column=2,padx=1,pady=2)
- propEnt13 = tkinter.Entry()
- propEnt13.grid(row=15,column=2,padx=1,pady=2)
- propEnt14 = tkinter.Entry()
- propEnt14.grid(row=16,column=2,padx=1,pady=2)
- propEnt15 = tkinter.Entry()
- propEnt15.grid(row=17,column=2,padx=1,pady=2)
- propEnt16 = tkinter.Entry()
- propEnt16.grid(row=18,column=2,padx=1,pady=2)
- propEnt17 = tkinter.Entry()
- propEnt17.grid(row=19,column=2,padx=1,pady=2)
- propEnt18 = tkinter.Entry()
- propEnt18.grid(row=20,column=2,padx=1,pady=2)
- propEnt19 = tkinter.Entry()
- propEnt19.grid(row=21,column=2,padx=1,pady=2)
- propEnt20 = tkinter.Entry()
- propEnt20.grid(row=22,column=2,padx=1,pady=2)
- #WORK ORDER NUMBER
- wonEnt1 = tkinter.Entry()
- wonEnt1.grid(row=3,column=3)
- wonEnt2 = tkinter.Entry()
- wonEnt2.grid(row=4,column=3)
- wonEnt3 = tkinter.Entry()
- wonEnt3.grid(row=5,column=3)
- wonEnt4 = tkinter.Entry()
- wonEnt4.grid(row=6,column=3)
- wonEnt5 = tkinter.Entry()
- wonEnt5.grid(row=7,column=3)
- wonEnt6 = tkinter.Entry()
- wonEnt6.grid(row=8,column=3)
- wonEnt7 = tkinter.Entry()
- wonEnt7.grid(row=9,column=3)
- wonEnt8 = tkinter.Entry()
- wonEnt8.grid(row=10,column=3)
- wonEnt9 = tkinter.Entry()
- wonEnt9.grid(row=11,column=3)
- wonEnt10 = tkinter.Entry()
- wonEnt10.grid(row=12,column=3)
- wonEnt11 = tkinter.Entry()
- wonEnt11.grid(row=13,column=3)
- wonEnt12 = tkinter.Entry()
- wonEnt12.grid(row=14,column=3)
- wonEnt13 = tkinter.Entry()
- wonEnt13.grid(row=15,column=3)
- wonEnt14 = tkinter.Entry()
- wonEnt14.grid(row=16,column=3)
- wonEnt15 = tkinter.Entry()
- wonEnt15.grid(row=17,column=3)
- wonEnt16 = tkinter.Entry()
- wonEnt16.grid(row=18,column=3)
- wonEnt17 = tkinter.Entry()
- wonEnt17.grid(row=19,column=3)
- wonEnt18 = tkinter.Entry()
- wonEnt18.grid(row=20,column=3)
- wonEnt19 = tkinter.Entry()
- wonEnt19.grid(row=21,column=3)
- wonEnt20 = tkinter.Entry()
- wonEnt20.grid(row=22,column=3)
- #DATE
- dateEnt1 = tkinter.Entry()
- dateEnt1.grid(row=3,column=4)
- dateEnt2 = tkinter.Entry()
- dateEnt2.grid(row=4,column=4)
- dateEnt3 = tkinter.Entry()
- dateEnt3.grid(row=5,column=4)
- dateEnt4 = tkinter.Entry()
- dateEnt4.grid(row=6,column=4)
- dateEnt5 = tkinter.Entry()
- dateEnt5.grid(row=7,column=4)
- dateEnt6 = tkinter.Entry()
- dateEnt6.grid(row=8,column=4)
- dateEnt7 = tkinter.Entry()
- dateEnt7.grid(row=9,column=4)
- dateEnt8 = tkinter.Entry()
- dateEnt8.grid(row=10,column=4)
- dateEnt9 = tkinter.Entry()
- dateEnt9.grid(row=11,column=4)
- dateEnt10 = tkinter.Entry()
- dateEnt10.grid(row=12,column=4)
- dateEnt11 = tkinter.Entry()
- dateEnt11.grid(row=13,column=4)
- dateEnt12 = tkinter.Entry()
- dateEnt12.grid(row=14,column=4)
- dateEnt13 = tkinter.Entry()
- dateEnt13.grid(row=15,column=4)
- dateEnt14 = tkinter.Entry()
- dateEnt14.grid(row=16,column=4)
- dateEnt15 = tkinter.Entry()
- dateEnt15.grid(row=17,column=4)
- dateEnt16 = tkinter.Entry()
- dateEnt16.grid(row=18,column=4)
- dateEnt17 = tkinter.Entry()
- dateEnt17.grid(row=19,column=4)
- dateEnt18 = tkinter.Entry()
- dateEnt18.grid(row=20,column=4)
- dateEnt19 = tkinter.Entry()
- dateEnt19.grid(row=21,column=4)
- dateEnt20 = tkinter.Entry()
- dateEnt20.grid(row=22,column=4)
- #TIME IN
- tiEnt1 = tkinter.Entry()
- tiEnt1.grid(row=3,column=5)
- tiEnt2 = tkinter.Entry()
- tiEnt2.grid(row=4,column=5)
- tiEnt3 = tkinter.Entry()
- tiEnt3.grid(row=5,column=5)
- tiEnt4 = tkinter.Entry()
- tiEnt4.grid(row=6,column=5)
- tiEnt5 = tkinter.Entry()
- tiEnt5.grid(row=7,column=5)
- tiEnt6 = tkinter.Entry()
- tiEnt6.grid(row=8,column=5)
- tiEnt7 = tkinter.Entry()
- tiEnt7.grid(row=9,column=5)
- tiEnt8 = tkinter.Entry()
- tiEnt8.grid(row=10,column=5)
- tiEnt9 = tkinter.Entry()
- tiEnt9.grid(row=11,column=5)
- tiEnt10 = tkinter.Entry()
- tiEnt10.grid(row=12,column=5)
- tiEnt11 = tkinter.Entry()
- tiEnt11.grid(row=13,column=5)
- tiEnt12 = tkinter.Entry()
- tiEnt12.grid(row=14,column=5)
- tiEnt13 = tkinter.Entry()
- tiEnt13.grid(row=15,column=5)
- tiEnt14 = tkinter.Entry()
- tiEnt14.grid(row=16,column=5)
- tiEnt15 = tkinter.Entry()
- tiEnt15.grid(row=17,column=5)
- tiEnt16 = tkinter.Entry()
- tiEnt16.grid(row=18,column=5)
- tiEnt17 = tkinter.Entry()
- tiEnt17.grid(row=19,column=5)
- tiEnt18 = tkinter.Entry()
- tiEnt18.grid(row=20,column=5)
- tiEnt19 = tkinter.Entry()
- tiEnt19.grid(row=21,column=5)
- tiEnt20 = tkinter.Entry()
- tiEnt20.grid(row=22,column=5)
- #TIME OUT
- toEnt1 = tkinter.Entry()
- toEnt1.grid(row=3,column=6)
- toEnt2 = tkinter.Entry()
- toEnt2.grid(row=4,column=6)
- toEnt3 = tkinter.Entry()
- toEnt3.grid(row=5,column=6)
- toEnt4 = tkinter.Entry()
- toEnt4.grid(row=6,column=6)
- toEnt5 = tkinter.Entry()
- toEnt5.grid(row=7,column=6)
- toEnt6 = tkinter.Entry()
- toEnt6.grid(row=8,column=6)
- toEnt7 = tkinter.Entry()
- toEnt7.grid(row=9,column=6)
- toEnt8 = tkinter.Entry()
- toEnt8.grid(row=10,column=6)
- toEnt9 = tkinter.Entry()
- toEnt9.grid(row=11,column=6)
- toEnt10 = tkinter.Entry()
- toEnt10.grid(row=12,column=6)
- toEnt11 = tkinter.Entry()
- toEnt11.grid(row=13,column=6)
- toEnt12 = tkinter.Entry()
- toEnt12.grid(row=14,column=6)
- toEnt13 = tkinter.Entry()
- toEnt13.grid(row=15,column=6)
- toEnt14 = tkinter.Entry()
- toEnt14.grid(row=16,column=6)
- toEnt15 = tkinter.Entry()
- toEnt15.grid(row=17,column=6)
- toEnt16 = tkinter.Entry()
- toEnt16.grid(row=18,column=6)
- toEnt17 = tkinter.Entry()
- toEnt17.grid(row=19,column=6)
- toEnt18 = tkinter.Entry()
- toEnt18.grid(row=20,column=6)
- toEnt19 = tkinter.Entry()
- toEnt19.grid(row=21,column=6)
- toEnt20 = tkinter.Entry()
- toEnt20.grid(row=22,column=6)
- #MILEAGE
- mileageEnt1 = tkinter.Entry()
- mileageEnt1.grid(row=3,column=7)
- mileageEnt2 = tkinter.Entry()
- mileageEnt2.grid(row=4,column=7)
- mileageEnt3 = tkinter.Entry()
- mileageEnt3.grid(row=5,column=7)
- mileageEnt4 = tkinter.Entry()
- mileageEnt4.grid(row=6,column=7)
- mileageEnt5 = tkinter.Entry()
- mileageEnt5.grid(row=7,column=7)
- mileageEnt6 = tkinter.Entry()
- mileageEnt6.grid(row=8,column=7)
- mileageEnt7 = tkinter.Entry()
- mileageEnt7.grid(row=9,column=7)
- mileageEnt8 = tkinter.Entry()
- mileageEnt8.grid(row=10,column=7)
- mileageEnt9 = tkinter.Entry()
- mileageEnt9.grid(row=11,column=7)
- mileageEnt10 = tkinter.Entry()
- mileageEnt10.grid(row=12,column=7)
- mileageEnt11 = tkinter.Entry()
- mileageEnt11.grid(row=13,column=7)
- mileageEnt12 = tkinter.Entry()
- mileageEnt12.grid(row=14,column=7)
- mileageEnt13 = tkinter.Entry()
- mileageEnt13.grid(row=15,column=7)
- mileageEnt14 = tkinter.Entry()
- mileageEnt14.grid(row=16,column=7)
- mileageEnt15 = tkinter.Entry()
- mileageEnt15.grid(row=17,column=7)
- mileageEnt16 = tkinter.Entry()
- mileageEnt16.grid(row=18,column=7)
- mileageEnt17 = tkinter.Entry()
- mileageEnt17.grid(row=19,column=7)
- mileageEnt18 = tkinter.Entry()
- mileageEnt18.grid(row=20,column=7)
- mileageEnt19 = tkinter.Entry()
- mileageEnt19.grid(row=21,column=7)
- mileageEnt20 = tkinter.Entry()
- mileageEnt20.grid(row=22,column=7)
- class fileManagement:
- def save():
- window.withdraw()
- win2 = Toplevel()
- win2.title("Save as...")
- win2.configure(background='#fcf9f0')
- win2Lbl= Label(win2, text = "File Name:",background='#fcf9f0')
- win2Lbl.grid(row = 0, column = 0)
- win2Ent = tkinter.Entry(win2)
- win2Ent.grid(row=0,column = 1, sticky=NSEW)
- win2.geometry("250x200")
- def OkPressed():
- #Data
- data = {
- 'employee' : employeeEnt.get(),
- 'cEnt1' : companyEnt1.get(),
- 'company' : companyEnt2.get()
- }
- with open(f'{win2Ent.get()}.json', 'w+') as file:
- json.dump(data, file)
- win2.destroy()
- window.deiconify()
- win2B = Button(win2, text = "OK", command = OkPressed)
- win2B.grid(row=1, column = 1, sticky=NSEW)
- def load():
- selectedFile = filedialog.askopenfilename(initialdir = "C:/" , title = "Select file", filetypes = (("JSON File", "*.json"),("All Files","*.*")))
- with open(f'{selectedFile}', 'r') as file:
- data = json.load(file)
- for employee in data:
- employeeEnt.delete(0,'end')
- employeeEnt.insert(0, data [employee])
- for cEnt1 in data:
- companyEnt1.delete(0,'end')
- companyEnt1.insert(0, data [cEnt1])
- for company in data:
- companyEnt2.delete(0, 'end')
- companyEnt2.insert(0, data [company])
- #Buttons
- copyB = Button(window, text = "Load", command = fileManagement.load)
- copyB.grid(row=0,column=9, sticky=E)
- saveB = Button(window, text = "Save", command = fileManagement.save)
- saveB.grid(row=1,column=10, sticky=E)
- window.mainloop()
Add Comment
Please, Sign In to add comment