Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #WORK IN PROGRESS
- #
- #
- #
- #Imports
- import tkinter
- from tkinter import filedialog
- from tkinter import *
- import json
- window = tkinter.Tk()
- window.title("Employee Time Sheet")
- window.geometry("1400x820")
- window.wm_iconbitmap('application.ico')
- window.configure(background='#fcf9f0')
- #Labels
- title_lbl = tkinter.Label(window, text='Pre-Job Saftey Assessment',font=(None,16),height=3,background='#fcf9f0')
- title_lbl.grid(row=0, columnspan=5)
- date_lbl = tkinter.Label(window, text = 'Date:', height=3,font=("None","12","bold"),background= '#fcf9f0')
- date_lbl.grid(row=1,column=5,padx=1, sticky=E)
- title_lbl = tkinter.Label(window,relief=SUNKEN, text='The appropiate sections of this assessment MUST be completed PRIOR to beginning work.',font="Helvetica 11 bold",height=2,background='#fcf9f0')
- title_lbl.grid(row=2, columnspan=7)
- companyLbl = tkinter.Label(window, text = 'Customer:',background='#fcf9f0', relief=RAISED, font = "Helvetica 11")
- companyLbl.grid(row=3, column=0,padx=1, ipadx=55, sticky=E)
- loc_lbl = tkinter.Label(window, text = 'Location:',background='#fcf9f0',relief=RAISED, font = "Helvetica 11")
- loc_lbl.grid(row=4, column=0,padx=1,ipadx=60, sticky=E)
- dow_lbl = tkinter.Label(window, text = 'Description of Work:', background= '#fcf9f0',relief=RAISED, font = "Helvetica 11")
- dow_lbl.grid(row=5, column=0,padx=1,ipadx=23, sticky=E)
- wr_lbl = tkinter.Label(window, text = 'Work Restrictions:',background='#fcf9f0',relief=RAISED, font = "Helvetica 11")
- wr_lbl.grid(row=6, column=0,padx=1,ipadx=29, sticky=E)
- fsn_lbl = tkinter.Label(window, text = 'Foreman/Supervisor Name:',background='#fcf9f0',relief=RAISED, font = "Helvetica 11")
- fsn_lbl.grid(row=7, column=0,padx=1, sticky=E)
- noti_lbl = tkinter.Label(window, text = 'Notification',background='#fcf9f0',relief=SUNKEN,width=71, font = "Helvetica 11 bold")
- noti_lbl.grid(row=8, columnspan=7)
- fsr_lbl= tkinter.Label(window, text = 'FSR#:',background='#fcf9f0',relief=RAISED, font = "Helvetica 11")
- fsr_lbl.grid(row=3, column=5,padx=1,ipadx=34)
- att_lbl= tkinter.Label(window, text = 'Attendees',background='#fcf9f0',relief=RAISED, font = "Helvetica 11")
- att_lbl.grid(row=4, column=5,padx=1,ipadx=22)
- haz_lbl = tkinter.Label(window, text = 'Hazard Exposure Assessment',background='#fcf9f0',relief=SUNKEN,width=71, font = "Helvetica 11 bold")
- haz_lbl.grid(row=11, columnspan=7)
- haz2_lbl = tkinter.Label(window, text = 'Rate the following potential Hazards as: 0 = None 1 = Low 2 = Medium 3 = High',background='#fcf9f0',relief=SUNKEN,width=71, font = "Helvetica 11")
- haz2_lbl.grid(row=12, columnspan=7)
- #Check Boxes
- noti2_var = IntVar()
- noti3_var = IntVar()
- noti4_var = IntVar()
- noti5_var = IntVar()
- noti2_c = Checkbutton(window, text="The effects of this job are on/by neighboring equipment and public considered",font="Helvetica 11",background="#fcf9f0",variable= noti2_var)
- noti2_c.grid(row=9,columnspan=7)
- noti3_c = Checkbutton(window, text = 'Pre-Job Saftey Meeting held with ALL crew members',background='#fcf9f0', font = "Helvetica 11", variable= noti3_var)
- noti3_c.grid(row=10, columnspan=2,sticky =W)
- noti4_c = Checkbutton(window, text = 'Job Procedure Review',background='#fcf9f0', font = "Helvetica 11", variable= noti4_var)
- noti4_c.grid(row=10,column=4,columnspan=2,sticky =E)
- noti5_c = Checkbutton(window, text = 'Responsibility Review',background='#fcf9f0', font = "Helvetica 11", variable= noti5_var)
- noti5_c.grid(row=10, column=6,sticky =W)
- #Title Entries
- date_ent= tkinter.Entry(font = "Helvetica 11")
- date_ent.grid(row=1,column=6,padx=1,pady=2)
- #Body Entries
- company_ent= tkinter.Entry(font = "Helvetica 11")
- company_ent.grid(row=3,column=1,columnspan=4,pady=2, sticky=W)
- loc_ent= tkinter.Entry(font = "Helvetica 11")
- loc_ent.grid(row=4,column=1,columnspan=4,pady=2, sticky=W)
- dow_ent= tkinter.Entry(font = "Helvetica 11")
- dow_ent.grid(row=5,column=1,columnspan=4,pady=2, sticky=W)
- wr_ent= tkinter.Entry(font = "Helvetica 11")
- wr_ent.grid(row=6,column=1,columnspan=4,pady=2, sticky=W)
- fsn_ent= tkinter.Entry(font = "Helvetica 11")
- fsn_ent.grid(row=7,column=1,columnspan=4,pady=2, sticky=W)
- fsr_ent= tkinter.Entry(font = "Helvetica 11")
- fsr_ent.grid(row=3,column=6,pady=2, sticky=W)
- att_ent= tkinter.Entry(font = "Helvetica 11")
- att_ent.grid(row=4,column=6,pady=2, sticky=W)
- haz_ent= tkinter.Entry(font = "Helvetica 11")
- haz_ent.grid(row=13,column=0,pady=2, sticky=W)
- haz_ent.configure(width=2)
- #Needs Work
- #
- #
- class fileManagement:
- def save():
- saved_file = filedialog.asksaveasfilename(initialdir = "C:/" , title = "Save file", filetypes = (("JSON File", "*.json"),("All Files","*.*")))
- if saved_file is None:
- return
- json_data = { key: value.get() for key, value in data['data'].items()}
- json_data['name'] = ent_name.get()
- with open(f'{saved_file}.json', 'w+') as file:
- json.dump(json_data, file, indent=4)
- def load():
- selected_file = filedialog.askopenfilename(initialdir = "C:/" , title = "Select file", filetypes = (("JSON File", "*.json"),("All Files","*.*")))
- with open(f'{selected_file}', 'r') as file:
- json_data = json.load(file)
- for name in data['data']:
- text= json_data[name]
- ent= data['data'][name]
- ent.delete(0,'end')
- ent.insert(0, text)
- ent_name.delete(0, 'end')
- ent_name.insert(0, json_data['name'])
- def clear():
- clear_win = Toplevel()
- clear_win.geometry("320x150")
- clear_win.title("Clear All")
- clear_win.configure(background='#fcf9f0')
- clear_win.wm_iconbitmap('action_delete.ico')
- clear_win_label = Label(clear_win,text= "Are you sure you want to clear all data?",background='#fcf9f0',font = "Helvetica 11")
- clear_win_label.grid(row=0,column = 1, sticky=NSEW)
- def Yes():
- for name in data['data']:
- ent= data['data'][name]
- ent_name.delete(0, 'end')
- ent.delete(0,'end')
- clear_win.destroy()
- def No():
- clear_win.destroy()
- Yes_B= Button(clear_win, text = "Yes", command= Yes)
- Yes_B.grid(row=1,column=1,sticky=W)
- No_B= Button(clear_win, text = "No", command= No)
- No_B.grid(row=1,column=1,sticky=E)
- #
- #
- #
- #Buttons
- load_B = Button(window, text = "Load", command = fileManagement.load)
- load_B.grid(row=0,column=6, sticky=NE)
- save_B = Button(window, text = "Save", command = fileManagement.save)
- save_B.grid(row=0,column=6, sticky=NW)
- clear_B = Button(window, text = "Clear All", command = fileManagement.clear)
- clear_B.grid(row=0,column=6,sticky=N)
- window.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement