Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 7.45 KB | None | 0 0
  1. #from PIL import ImageTk, Image
  2. from tkinter import ttk
  3. from tkinter import *
  4.  
  5. def insertData():
  6.     empID_field.delete(0,END)
  7.     empID_field.insert(END,12345)
  8.     empName_field.delete(0,END)
  9.     empName_field.insert(END,"GirishLukka")
  10.     empSal_field.delete(0,END)
  11.     empSal_field.insert(END,13000)
  12.     empJob_field.insert(END,"UX/UI")
  13.     empImgLoc_field.insert(END,'img/st1.png')
  14.     empStatus_field.insert(END,1)
  15.  
  16. def clearData():
  17.     empID_field.delete(0,END)
  18.     empName_field.delete(0,END)
  19.     empJob_field.delete(0,END)
  20.     empSal_field.delete(0,END)
  21.     empImgLoc_field.delete(0,END)
  22.     empStatus_field.delete(0,END)
  23.  
  24. def clearEmp(event):
  25.     empID_field.delete(0,END)
  26.     empName_field.delete(0,END)
  27.     empJob_field.delete(0,END)
  28.     empSal_field.delete(0,END)
  29.     empImgLoc_field.delete(0,END)
  30.     empStatus_field.delete(0,END)
  31.  
  32. def view():
  33.     records = empDB.view()
  34.     print(records)
  35.     clearTree()
  36.     for row in records:
  37.         tv.insert("", 0, values=row)
  38.  
  39. def dbAdd():
  40.     name = empName_field.get()
  41.     job = empJob_field.get()
  42.     sal = empSal_field.get()
  43.     img = empImgLoc_field.get()
  44.     print(name,job,sal,img)
  45.     empDB.insert(name,job,sal,img)
  46.  
  47. def closeWindow():
  48.     win.destroy()
  49.  
  50. def insertTree():
  51.     for row in list:
  52.         tv.insert("", 0, values=row)
  53.     #tv.insert('',END,values=row)
  54.  
  55. def clearTree():
  56.     x = tv.get_children()
  57.     print("Tree :", x)
  58.     for item in x:
  59.         tv.delete(item)
  60.  
  61. def clearTrees(event):
  62.     x = tv.get_children()
  63.     print("Tree :", x)
  64.     for item in x:
  65.         tv.delete(item)
  66.  
  67. def select_item(event):
  68.     row = tv.item(tv.selection())
  69.     print("row",type(row),row)
  70.     item = tv.selection()[0]
  71.     print ('item clicked ', item)
  72.     print (tv.item(item)['values'][0])
  73.     empID_field.delete(0,END)
  74.     empName_field.delete(0,END)
  75.     empSal_field.delete(0,END)
  76.     empJob_field.delete(0,END)
  77.     empImgLoc_field.delete(0,END)
  78.     empStatus_field.delete(0,END)
  79.     empID_field.insert(END,row['values'][0])
  80.     empName_field.insert(END,row['values'][1])
  81.     empSal_field.insert(END,row['values'][2])
  82.     empJob_field.insert(END,row['values'][3])
  83.     empImgLoc_field.insert(END,row['values'][4])
  84.     empStatus_field.insert(END,row['values'][5])
  85.  
  86.  
  87.  
  88.  
  89.  
  90. #creates main window
  91. win = Tk()
  92.  
  93. win.title("Emplyoee Application")
  94. win.geometry("800x500")
  95. win.configure(bg='#212121')
  96.  
  97. #creates employee panel
  98. empFrame = LabelFrame(win, text='Employee panel')
  99. empFrame.grid(row=0, column=0, sticky=NSEW, padx=8, pady=8)
  100. empFrame.configure(bg='#424242', fg="#FFFFFF")
  101. empFrame.bind('<Double-Button-1>', clearEmp)
  102.  
  103. #for child in empFrame.winfo_children():
  104.     #child.grid_configure(padx=5, pady=5, sticky= NW)
  105.  
  106. #creats label empID and place in employee panel
  107. empID = Label(empFrame, text='EmpID: ')
  108. empID.grid(row=0, column=0)
  109. empName = Label(empFrame, text="Emp name")
  110. empName.grid(row=1, column=0)
  111. empSal = Label(empFrame, text="Emp Salary")
  112. empSal.grid(row=2, column=0)
  113. empJob = Label(empFrame,text="Emp Job")
  114. empJob.grid(row=3, column=0)
  115. empImgLoc = Label(empFrame, text="Emp Img Loc")
  116. empImgLoc.grid(row=4, column=0)
  117. empStatus = Label(empFrame, text="Emp Status")
  118. empStatus.grid(row=5, column=0)
  119.  
  120. #Declare variables as string
  121. empID_text = StringVar()
  122. empName_text = StringVar()
  123. empSal_text = StringVar()
  124. empJob_text = StringVar()
  125. empImgLoc_text = StringVar()
  126. empStatus_text = StringVar()
  127.  
  128. #creates empID_field that can hold empID_text / uses entry widget
  129. empID_field = Entry(empFrame, textvariable = empID_text)
  130. empID_field.grid(row=0, column=1)
  131. empName_field = Entry(empFrame, textvariable = empName_text)
  132. empName_field.grid(row=1, column=1)
  133. empSal_field = Entry(empFrame, textvariable = empSal_text)
  134. empSal_field.grid(row=2, column=1)
  135. empJob_field = Entry(empFrame, textvariable = empJob_text)
  136. empJob_field.grid(row=3, column=1)
  137. empImgLoc_field = Entry(empFrame, textvariable = empImgLoc_text)
  138. empImgLoc_field.grid(row=4, column=1)
  139. empStatus_field = Entry(empFrame, textvariable = empStatus_text)
  140. empStatus_field.grid(row=5, column=1)
  141.  
  142. #creates action panel and button
  143. btnFrame = LabelFrame(win, text='Action panel:')
  144. btnFrame.grid(row=0, column=3, sticky=E, padx=8, pady=8)
  145. btnFrame.configure(bg='#424242', fg='#FFFFFF')
  146. b1=Button(btnFrame, text="View all", width=12, command=view) #command=viewALL
  147. b1.grid(row=0, column=0)
  148. b2=Button(btnFrame, text="Add New", width=12)
  149. b2.grid(row=1, column=0)
  150. b3=Button(btnFrame, text="Delete", width=12)
  151. b3.grid(row=2, column=0)
  152. b4=Button(btnFrame, text="Amend", width=12)
  153. b4.grid(row=3, column=0)
  154. b5=Button(btnFrame, text="Search", width=12)
  155. b5.grid(row=4, column=0)
  156. b6=Button(btnFrame, text="Clear Display", width=12, command=clearData)
  157. b6.grid(row=5, column=0)
  158. b7=Button(btnFrame, text="Quit", width=12, command=closeWindow)
  159. b7.grid(row=6, column=0)
  160. b8=Button(btnFrame, text="Insert", width=12, command=insertData)
  161. b8.grid(row=6, column=1)
  162. b9=Button(btnFrame, text="Insert Tree", width=12, command=insertTree)
  163. b9.grid(row=5, column=1)
  164. b10=Button(btnFrame, text="Clear Tree", width=12, command=clearTree)
  165. b10.grid(row=4, column=1)
  166.  
  167. #creates new panel and Table
  168. dispFrame = LabelFrame(win, text='Displaypanel:')
  169. dispFrame.configure(background='#424242', fg='#FFFFFF')
  170. dispFrame.grid(row=1, column=0, sticky=N, padx=8, pady=8)
  171.  
  172. tv = ttk.Treeview(dispFrame, height=10, columns=3)
  173. tv.grid(row=1, column=1, columnspan=2)
  174. tv["columns"] = ["Emp ID", "Emp Name", "Job title", "Salary", "Image Location", "Status"]
  175. tv["show"] = "headings"
  176. tv.heading("Emp ID", text="Emp ID")
  177. tv.column("Emp ID", anchor='center', width=70)
  178. tv.heading("Emp Name", text="Emp Name")
  179. tv.column("Emp Name", anchor='center', width=100)
  180. tv.heading("Job title", text="Job title")
  181. tv.column("Job title", anchor='center', width=100)
  182. tv.heading("Salary", text="Salary")
  183. tv.column("Salary", anchor='center', width=70)
  184. tv.heading("Image Location", text="Image Location")
  185. tv.column("Image Location", anchor='center', width=100)
  186. tv.heading("Status", text="Status")
  187. tv.column("Status", anchor='center', width=70)
  188. tv.bind('<Double-Button-1>', clearTrees)
  189. tv.bind('<ButtonRelease-1>', select_item)
  190.  
  191. #creates Scrollbar
  192. sb1 = Scrollbar(dispFrame,command=tv.yview,
  193. orient=VERTICAL)
  194. sb1.grid(row=0,column=7,rowspan=2,sticky='ns')
  195. tv.configure(yscrollcommand=sb1.set)
  196.  
  197.  
  198. list=[
  199. (21, 'Any and All', 'analyst',18000,'img/st2.png',1),
  200. (22, 'Any and All', 'analyst',18000,'img/st2.png'),
  201. (23, 'Any and All', 'analyst',18000,'img/st2.png'),
  202. (24, 'Any and All', 'analyst',18000,'img/st2.png'),
  203. (25, 'Any and All', 'analyst',18000,'img/st2.png'),
  204. (26, 'Any and All', 'analyst',18000,'img/st2.png'),
  205. (27, 'Any and All', 'analyst',18000,'img/st2.png'),
  206. (21, 'Any and All', 'analyst',18000,'img/st2.png'),
  207. (22, 'Any and All', 'analyst',18000,'img/st2.png'),
  208. (23, 'Any and All', 'analyst',18000,'img/st2.png'),
  209. (24, 'Any and All', 'analyst',18000,'img/st2.png'),
  210. (25, 'Any and All', 'analyst',18000,'img/st2.png'),
  211. (26, 'Any and All', 'analyst',18000,'img/st2.png'),
  212. (27, 'Any and All', 'analyst',18000,'img/st2.png')
  213. ]
  214.  
  215. #creates a message panel
  216. msgFrame = LabelFrame(win, text = 'Message panel: ')
  217. msgFrame.configure(bg = '#424242', fg="#FFFFFF")
  218. msgFrame.grid(row = 1, column = 3, sticky = NSEW, padx = 8, pady = 8)
  219. msg = Label(msgFrame, text = 'Msg Display to alert \nwhat button is activated\nand any other info', fg ="black")
  220. msg.grid(row = 0, column = 0, padx = 8, pady = 8)
  221.  
  222. #keep window alive and respond to any events until it is closed
  223. win.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement