EyeceScream

Eyecescream's

Sep 4th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 13.76 KB | None | 0 0
  1.  
  2. #Imports
  3. import tkinter
  4. from tkinter import filedialog
  5. from tkinter import *
  6. import json
  7. window = tkinter.Tk()
  8. window.title("Employee Time Sheet")
  9. window.geometry("1280x820")
  10. window.wm_iconbitmap('file.ico')
  11. window.configure(background='#fcf9f0')
  12.  
  13.  
  14. #Labels
  15. titleLbl = tkinter.Label(window, text='RKT Employee Time Sheet',font=(None,16),height=3,background='#fcf9f0')
  16. titleLbl.grid(row=0, columnspan=8)
  17. employeeLbl = tkinter.Label(window, text = 'Employee:', height=3,font=(None,12),background= '#fcf9f0')
  18. employeeLbl.grid(row=1,column=0,padx=1)
  19. companyLbl = tkinter.Label(window, text = 'Company',background='#fcf9f0', relief=RAISED)
  20. companyLbl.grid(row=2, column=0,padx=1, ipadx=33)
  21. leaseLbl = tkinter.Label(window, text = 'Lease',background='#fcf9f0',relief=RAISED)
  22. leaseLbl.grid(row=2, column=1,padx=1,ipadx=45)
  23. propLbl = tkinter.Label(window, text = 'Porperty Number', background= '#fcf9f0',relief=RAISED)
  24. propLbl.grid(row=2, column=2,padx=1,ipadx=13)
  25.  
  26. wonLbl = tkinter.Label(window, text = 'Work Order Number',background='#fcf9f0',relief=RAISED)
  27. wonLbl.grid(row=2, column=3,padx=1,ipadx=5)
  28. dateLbl = tkinter.Label(window, text = 'Date',background='#fcf9f0',relief=RAISED)
  29. dateLbl.grid(row=2, column=4,padx=1,ipadx=46)
  30. tiLbl = tkinter.Label(window, text = 'Time In',background='#fcf9f0',relief=RAISED)
  31. tiLbl.grid(row=2, column=5,padx=1,ipadx=37)
  32. toLbl = tkinter.Label(window, text = 'Time Out',background='#fcf9f0',relief=RAISED)
  33. toLbl.grid(row=2, column=6,padx=1,ipadx=34)
  34.  
  35. mileageLbl = tkinter.Label(window, text = 'Mileage',background='#fcf9f0',relief=RAISED)
  36. mileageLbl.grid(row=2, column=7,padx=1,ipadx=36)
  37.  
  38. #Entrys
  39. #EMPLOYEE
  40. employeeEnt = tkinter.Entry()
  41. employeeEnt.grid(row=1,column=1,padx=1,pady=2)
  42.  
  43. #COMPANY
  44. companyEnt1 = tkinter.Entry()
  45. companyEnt1.grid(row=3, column=0,padx=1,pady=2)
  46. companyEnt2 = tkinter.Entry()
  47. companyEnt2.grid(row=4, column=0,padx=1,pady=2)
  48. companyEnt3 = tkinter.Entry()
  49. companyEnt3.grid(row=5, column=0,padx=1,pady=2)
  50. companyEnt4 = tkinter.Entry()
  51. companyEnt4.grid(row=6, column=0,padx=1,pady=2)
  52. companyEnt5 = tkinter.Entry()
  53. companyEnt5.grid(row=7, column=0,padx=1,pady=2)
  54. companyEnt6 = tkinter.Entry()
  55. companyEnt6.grid(row=8, column=0,padx=1,pady=2)
  56. companyEnt7 = tkinter.Entry()
  57. companyEnt7.grid(row=9, column=0,padx=1,pady=2)
  58. companyEnt8 = tkinter.Entry()
  59. companyEnt8.grid(row=10, column=0,padx=1,pady=2)
  60. companyEnt9 = tkinter.Entry()
  61. companyEnt9.grid(row=11, column=0,padx=1,pady=2)
  62. companyEnt10 = tkinter.Entry()
  63. companyEnt10.grid(row=12, column=0,padx=1,pady=2)
  64. companyEnt11 = tkinter.Entry()
  65. companyEnt11.grid(row=13, column=0,padx=1,pady=2)
  66. companyEnt12 = tkinter.Entry()
  67. companyEnt12.grid(row=14, column=0,padx=1,pady=2)
  68. companyEnt13 = tkinter.Entry()
  69. companyEnt13.grid(row=15, column=0,padx=1,pady=2)
  70. companyEnt14 = tkinter.Entry()
  71. companyEnt14.grid(row=16, column=0,padx=1,pady=2)
  72. companyEnt15 = tkinter.Entry()
  73. companyEnt15.grid(row=17, column=0,padx=1,pady=2)
  74. companyEnt16 = tkinter.Entry()
  75. companyEnt16.grid(row=18, column=0,padx=1,pady=2)
  76. companyEnt17 = tkinter.Entry()
  77. companyEnt17.grid(row=19, column=0,padx=1,pady=2)
  78. companyEnt18 = tkinter.Entry()
  79. companyEnt18.grid(row=20, column=0,padx=1,pady=2)
  80. companyEnt19 = tkinter.Entry()
  81. companyEnt19.grid(row=21, column=0,padx=1,pady=2)
  82. companyEnt20 = tkinter.Entry()
  83. companyEnt20.grid(row=22, column=0,padx=1,pady=2)
  84.  
  85.  
  86. #LEASE
  87. leaseEnt1 = tkinter.Entry()
  88. leaseEnt1.grid(row=3,column=1,padx=1,pady=2)
  89. leaseEnt2 = tkinter.Entry()
  90. leaseEnt2.grid(row=4,column=1,padx=1,pady=2)
  91. leaseEnt3 = tkinter.Entry()
  92. leaseEnt3.grid(row=5,column=1,padx=1,pady=2)
  93. leaseEnt4 = tkinter.Entry()
  94. leaseEnt4.grid(row=6,column=1,padx=1,pady=2)
  95. leaseEnt5 = tkinter.Entry()
  96. leaseEnt5.grid(row=7,column=1,padx=1,pady=2)
  97. leaseEnt6 = tkinter.Entry()
  98. leaseEnt6.grid(row=8,column=1,padx=1,pady=2)
  99. leaseEnt7 = tkinter.Entry()
  100. leaseEnt7.grid(row=9,column=1,padx=1,pady=2)
  101. leaseEnt8 = tkinter.Entry()
  102. leaseEnt8.grid(row=10,column=1,padx=1,pady=2)
  103. leaseEnt9 = tkinter.Entry()
  104. leaseEnt9.grid(row=11,column=1,padx=1,pady=2)
  105. leaseEnt10 = tkinter.Entry()
  106. leaseEnt10.grid(row=12,column=1,padx=1,pady=2)
  107. leaseEnt11 = tkinter.Entry()
  108. leaseEnt11.grid(row=13,column=1,padx=1,pady=2)
  109. leaseEnt12 = tkinter.Entry()
  110. leaseEnt12.grid(row=14,column=1,padx=1,pady=2)
  111. leaseEnt13 = tkinter.Entry()
  112. leaseEnt13.grid(row=15,column=1,padx=1,pady=2)
  113. leaseEnt14 = tkinter.Entry()
  114. leaseEnt14.grid(row=16,column=1,padx=1,pady=2)
  115. leaseEnt15 = tkinter.Entry()
  116. leaseEnt15.grid(row=17,column=1,padx=1,pady=2)
  117. leaseEnt16 = tkinter.Entry()
  118. leaseEnt16.grid(row=18,column=1,padx=1,pady=2)
  119. leaseEnt17 = tkinter.Entry()
  120. leaseEnt17.grid(row=19,column=1,padx=1,pady=2)
  121. leaseEnt18 = tkinter.Entry()
  122. leaseEnt18.grid(row=20,column=1,padx=1,pady=2)
  123. leaseEnt19 = tkinter.Entry()
  124. leaseEnt19.grid(row=21,column=1,padx=1,pady=2)
  125. leaseEnt20 = tkinter.Entry()
  126. leaseEnt20.grid(row=22,column=1,padx=1,pady=2)
  127. #PROPERTY NUMBER
  128. propEnt1 = tkinter.Entry()
  129. propEnt1.grid(row=3,column=2,padx=1,pady=2)
  130. propEnt2 = tkinter.Entry()
  131. propEnt2.grid(row=4,column=2,padx=1,pady=2)
  132. propEnt3 = tkinter.Entry()
  133. propEnt3.grid(row=5,column=2,padx=1,pady=2)
  134. propEnt4 = tkinter.Entry()
  135. propEnt4.grid(row=6,column=2,padx=1,pady=2)
  136. propEnt5 = tkinter.Entry()
  137. propEnt5.grid(row=7,column=2,padx=1,pady=2)
  138. propEnt6 = tkinter.Entry()
  139. propEnt6.grid(row=8,column=2,padx=1,pady=2)
  140. propEnt7 = tkinter.Entry()
  141. propEnt7.grid(row=9,column=2,padx=1,pady=2)
  142. propEnt8 = tkinter.Entry()
  143. propEnt8.grid(row=10,column=2,padx=1,pady=2)
  144. propEnt9 = tkinter.Entry()
  145. propEnt9.grid(row=11,column=2,padx=1,pady=2)
  146. propEnt10 = tkinter.Entry()
  147. propEnt10.grid(row=12,column=2,padx=1,pady=2)
  148. propEnt11 = tkinter.Entry()
  149. propEnt11.grid(row=13,column=2,padx=1,pady=2)
  150. propEnt12 = tkinter.Entry()
  151. propEnt12.grid(row=14,column=2,padx=1,pady=2)
  152. propEnt13 = tkinter.Entry()
  153. propEnt13.grid(row=15,column=2,padx=1,pady=2)
  154. propEnt14 = tkinter.Entry()
  155. propEnt14.grid(row=16,column=2,padx=1,pady=2)
  156. propEnt15 = tkinter.Entry()
  157. propEnt15.grid(row=17,column=2,padx=1,pady=2)
  158. propEnt16 = tkinter.Entry()
  159. propEnt16.grid(row=18,column=2,padx=1,pady=2)
  160. propEnt17 = tkinter.Entry()
  161. propEnt17.grid(row=19,column=2,padx=1,pady=2)
  162. propEnt18 = tkinter.Entry()
  163. propEnt18.grid(row=20,column=2,padx=1,pady=2)
  164. propEnt19 = tkinter.Entry()
  165. propEnt19.grid(row=21,column=2,padx=1,pady=2)
  166. propEnt20 = tkinter.Entry()
  167. propEnt20.grid(row=22,column=2,padx=1,pady=2)
  168.  
  169. #WORK ORDER NUMBER
  170. wonEnt1 = tkinter.Entry()
  171. wonEnt1.grid(row=3,column=3)
  172. wonEnt2 = tkinter.Entry()
  173. wonEnt2.grid(row=4,column=3)
  174. wonEnt3 = tkinter.Entry()
  175. wonEnt3.grid(row=5,column=3)
  176. wonEnt4 = tkinter.Entry()
  177. wonEnt4.grid(row=6,column=3)
  178. wonEnt5 = tkinter.Entry()
  179. wonEnt5.grid(row=7,column=3)
  180. wonEnt6 = tkinter.Entry()
  181. wonEnt6.grid(row=8,column=3)
  182. wonEnt7 = tkinter.Entry()
  183. wonEnt7.grid(row=9,column=3)
  184. wonEnt8 = tkinter.Entry()
  185. wonEnt8.grid(row=10,column=3)
  186. wonEnt9 = tkinter.Entry()
  187. wonEnt9.grid(row=11,column=3)
  188. wonEnt10 = tkinter.Entry()
  189. wonEnt10.grid(row=12,column=3)
  190. wonEnt11 = tkinter.Entry()
  191. wonEnt11.grid(row=13,column=3)
  192. wonEnt12 = tkinter.Entry()
  193. wonEnt12.grid(row=14,column=3)
  194. wonEnt13 = tkinter.Entry()
  195. wonEnt13.grid(row=15,column=3)
  196. wonEnt14 = tkinter.Entry()
  197. wonEnt14.grid(row=16,column=3)
  198. wonEnt15 = tkinter.Entry()
  199. wonEnt15.grid(row=17,column=3)
  200. wonEnt16 = tkinter.Entry()
  201. wonEnt16.grid(row=18,column=3)
  202. wonEnt17 = tkinter.Entry()
  203. wonEnt17.grid(row=19,column=3)
  204. wonEnt18 = tkinter.Entry()
  205. wonEnt18.grid(row=20,column=3)
  206. wonEnt19 = tkinter.Entry()
  207. wonEnt19.grid(row=21,column=3)
  208. wonEnt20 = tkinter.Entry()
  209. wonEnt20.grid(row=22,column=3)
  210. #DATE
  211. dateEnt1 = tkinter.Entry()
  212. dateEnt1.grid(row=3,column=4)
  213. dateEnt2 = tkinter.Entry()
  214. dateEnt2.grid(row=4,column=4)
  215. dateEnt3 = tkinter.Entry()
  216. dateEnt3.grid(row=5,column=4)
  217. dateEnt4 = tkinter.Entry()
  218. dateEnt4.grid(row=6,column=4)
  219. dateEnt5 = tkinter.Entry()
  220. dateEnt5.grid(row=7,column=4)
  221. dateEnt6 = tkinter.Entry()
  222. dateEnt6.grid(row=8,column=4)
  223. dateEnt7 = tkinter.Entry()
  224. dateEnt7.grid(row=9,column=4)
  225. dateEnt8 = tkinter.Entry()
  226. dateEnt8.grid(row=10,column=4)
  227. dateEnt9 = tkinter.Entry()
  228. dateEnt9.grid(row=11,column=4)
  229. dateEnt10 = tkinter.Entry()
  230. dateEnt10.grid(row=12,column=4)
  231. dateEnt11 = tkinter.Entry()
  232. dateEnt11.grid(row=13,column=4)
  233. dateEnt12 = tkinter.Entry()
  234. dateEnt12.grid(row=14,column=4)
  235. dateEnt13 = tkinter.Entry()
  236. dateEnt13.grid(row=15,column=4)
  237. dateEnt14 = tkinter.Entry()
  238. dateEnt14.grid(row=16,column=4)
  239. dateEnt15 = tkinter.Entry()
  240. dateEnt15.grid(row=17,column=4)
  241. dateEnt16 = tkinter.Entry()
  242. dateEnt16.grid(row=18,column=4)
  243. dateEnt17 = tkinter.Entry()
  244. dateEnt17.grid(row=19,column=4)
  245. dateEnt18 = tkinter.Entry()
  246. dateEnt18.grid(row=20,column=4)
  247. dateEnt19 = tkinter.Entry()
  248. dateEnt19.grid(row=21,column=4)
  249. dateEnt20 = tkinter.Entry()
  250. dateEnt20.grid(row=22,column=4)
  251. #TIME IN
  252. tiEnt1 = tkinter.Entry()
  253. tiEnt1.grid(row=3,column=5)
  254. tiEnt2 = tkinter.Entry()
  255. tiEnt2.grid(row=4,column=5)
  256. tiEnt3 = tkinter.Entry()
  257. tiEnt3.grid(row=5,column=5)
  258. tiEnt4 = tkinter.Entry()
  259. tiEnt4.grid(row=6,column=5)
  260. tiEnt5 = tkinter.Entry()
  261. tiEnt5.grid(row=7,column=5)
  262. tiEnt6 = tkinter.Entry()
  263. tiEnt6.grid(row=8,column=5)
  264. tiEnt7 = tkinter.Entry()
  265. tiEnt7.grid(row=9,column=5)
  266. tiEnt8 = tkinter.Entry()
  267. tiEnt8.grid(row=10,column=5)
  268. tiEnt9 = tkinter.Entry()
  269. tiEnt9.grid(row=11,column=5)
  270. tiEnt10 = tkinter.Entry()
  271. tiEnt10.grid(row=12,column=5)
  272. tiEnt11 = tkinter.Entry()
  273. tiEnt11.grid(row=13,column=5)
  274. tiEnt12 = tkinter.Entry()
  275. tiEnt12.grid(row=14,column=5)
  276. tiEnt13 = tkinter.Entry()
  277. tiEnt13.grid(row=15,column=5)
  278. tiEnt14 = tkinter.Entry()
  279. tiEnt14.grid(row=16,column=5)
  280. tiEnt15 = tkinter.Entry()
  281. tiEnt15.grid(row=17,column=5)
  282. tiEnt16 = tkinter.Entry()
  283. tiEnt16.grid(row=18,column=5)
  284. tiEnt17 = tkinter.Entry()
  285. tiEnt17.grid(row=19,column=5)
  286. tiEnt18 = tkinter.Entry()
  287. tiEnt18.grid(row=20,column=5)
  288. tiEnt19 = tkinter.Entry()
  289. tiEnt19.grid(row=21,column=5)
  290. tiEnt20 = tkinter.Entry()
  291. tiEnt20.grid(row=22,column=5)
  292.  
  293. #TIME OUT
  294. toEnt1 = tkinter.Entry()
  295. toEnt1.grid(row=3,column=6)
  296. toEnt2 = tkinter.Entry()
  297. toEnt2.grid(row=4,column=6)
  298. toEnt3 = tkinter.Entry()
  299. toEnt3.grid(row=5,column=6)
  300. toEnt4 = tkinter.Entry()
  301. toEnt4.grid(row=6,column=6)
  302. toEnt5 = tkinter.Entry()
  303. toEnt5.grid(row=7,column=6)
  304. toEnt6 = tkinter.Entry()
  305. toEnt6.grid(row=8,column=6)
  306. toEnt7 = tkinter.Entry()
  307. toEnt7.grid(row=9,column=6)
  308. toEnt8 = tkinter.Entry()
  309. toEnt8.grid(row=10,column=6)
  310. toEnt9 = tkinter.Entry()
  311. toEnt9.grid(row=11,column=6)
  312. toEnt10 = tkinter.Entry()
  313. toEnt10.grid(row=12,column=6)
  314. toEnt11 = tkinter.Entry()
  315. toEnt11.grid(row=13,column=6)
  316. toEnt12 = tkinter.Entry()
  317. toEnt12.grid(row=14,column=6)
  318. toEnt13 = tkinter.Entry()
  319. toEnt13.grid(row=15,column=6)
  320. toEnt14 = tkinter.Entry()
  321. toEnt14.grid(row=16,column=6)
  322. toEnt15 = tkinter.Entry()
  323. toEnt15.grid(row=17,column=6)
  324. toEnt16 = tkinter.Entry()
  325. toEnt16.grid(row=18,column=6)
  326. toEnt17 = tkinter.Entry()
  327. toEnt17.grid(row=19,column=6)
  328. toEnt18 = tkinter.Entry()
  329. toEnt18.grid(row=20,column=6)
  330. toEnt19 = tkinter.Entry()
  331. toEnt19.grid(row=21,column=6)
  332. toEnt20 = tkinter.Entry()
  333. toEnt20.grid(row=22,column=6)
  334.  
  335. #MILEAGE
  336. mileageEnt1 = tkinter.Entry()
  337. mileageEnt1.grid(row=3,column=7)
  338. mileageEnt2 = tkinter.Entry()
  339. mileageEnt2.grid(row=4,column=7)
  340. mileageEnt3 = tkinter.Entry()
  341. mileageEnt3.grid(row=5,column=7)
  342. mileageEnt4 = tkinter.Entry()
  343. mileageEnt4.grid(row=6,column=7)
  344. mileageEnt5 = tkinter.Entry()
  345. mileageEnt5.grid(row=7,column=7)
  346. mileageEnt6 = tkinter.Entry()
  347. mileageEnt6.grid(row=8,column=7)
  348. mileageEnt7 = tkinter.Entry()
  349. mileageEnt7.grid(row=9,column=7)
  350. mileageEnt8 = tkinter.Entry()
  351. mileageEnt8.grid(row=10,column=7)
  352. mileageEnt9 = tkinter.Entry()
  353. mileageEnt9.grid(row=11,column=7)
  354. mileageEnt10 = tkinter.Entry()
  355. mileageEnt10.grid(row=12,column=7)
  356. mileageEnt11 = tkinter.Entry()
  357. mileageEnt11.grid(row=13,column=7)
  358. mileageEnt12 = tkinter.Entry()
  359. mileageEnt12.grid(row=14,column=7)
  360. mileageEnt13 = tkinter.Entry()
  361. mileageEnt13.grid(row=15,column=7)
  362. mileageEnt14 = tkinter.Entry()
  363. mileageEnt14.grid(row=16,column=7)
  364. mileageEnt15 = tkinter.Entry()
  365. mileageEnt15.grid(row=17,column=7)
  366. mileageEnt16 = tkinter.Entry()
  367. mileageEnt16.grid(row=18,column=7)
  368. mileageEnt17 = tkinter.Entry()
  369. mileageEnt17.grid(row=19,column=7)
  370. mileageEnt18 = tkinter.Entry()
  371. mileageEnt18.grid(row=20,column=7)
  372. mileageEnt19 = tkinter.Entry()
  373. mileageEnt19.grid(row=21,column=7)
  374. mileageEnt20 = tkinter.Entry()
  375. mileageEnt20.grid(row=22,column=7)
  376.  
  377.  
  378.  
  379. class fileManagement:
  380.  def save():
  381.  
  382.   window.withdraw()
  383.   win2 = Toplevel()
  384.   win2.title("Save as...")
  385.   win2.configure(background='#fcf9f0')
  386.  
  387.   win2Lbl= Label(win2, text = "File Name:",background='#fcf9f0')
  388.   win2Lbl.grid(row = 0, column = 0)
  389.  
  390.   win2Ent = tkinter.Entry(win2)
  391.   win2Ent.grid(row=0,column = 1, sticky=NSEW)
  392.   win2.geometry("250x200")
  393.  
  394.  
  395.   def OkPressed():
  396.    #Data
  397.    data = {
  398.     'employee' : employeeEnt.get(),
  399.     'cEnt1' : companyEnt1.get(),
  400.     'company' : companyEnt2.get()
  401.     }
  402.    with open(f'{win2Ent.get()}.json', 'w+') as file:
  403.      json.dump(data, file)
  404.    win2.destroy()
  405.    window.deiconify()
  406.  
  407.   win2B = Button(win2, text = "OK", command = OkPressed)
  408.   win2B.grid(row=1, column = 1, sticky=NSEW)
  409.    
  410.    
  411.  
  412.  def load():
  413.  
  414.   selectedFile = filedialog.askopenfilename(initialdir = "C:/" , title = "Select file", filetypes = (("JSON File", "*.json"),("All Files","*.*")))
  415.   with open(f'{selectedFile}', 'r') as file:
  416.    data = json.load(file)
  417.   for employee in data:
  418.    employeeEnt.delete(0,'end')
  419.    employeeEnt.insert(0, data [employee])
  420.  
  421.   for cEnt1 in data:
  422.    companyEnt1.delete(0,'end')
  423.    companyEnt1.insert(0, data [cEnt1])
  424.  
  425.   for company in data:
  426.    companyEnt2.delete(0, 'end')
  427.    companyEnt2.insert(0, data [company])
  428. #Buttons
  429. copyB = Button(window, text = "Load", command = fileManagement.load)
  430. copyB.grid(row=0,column=9, sticky=E)
  431. saveB = Button(window, text = "Save", command = fileManagement.save)
  432. saveB.grid(row=1,column=10, sticky=E)
  433.  
  434. window.mainloop()
Add Comment
Please, Sign In to add comment