yana_neykovaa

PYTHON CSV GUI

Sep 24th, 2018
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. from tkinter import *
  2. import sys
  3.  
  4. #define the labels of the fileds
  5. fields = 'Reference', 'CL', 'INV', 'Date1', 'Date2'
  6. #define how the fields work
  7. def fetch(entries):
  8. for entry in entries:
  9. field = entry[0]
  10. text = entry[1].get()
  11. print('%s: "%s"' % (field, text))
  12.  
  13. def makeform(root, fields):
  14. entries = []
  15. for field in fields:
  16. row = Frame(root)
  17. lab = Label(row, width=15, text=field, anchor='w')
  18. ent = Entry(row)
  19. row.pack(side=TOP, fill=X, padx=5, pady=5)
  20. lab.pack(side=LEFT)
  21. ent.pack(side=RIGHT, expand=YES, fill=X)
  22. entries.append((field, ent))
  23. return entries
  24.  
  25. def quit(root):
  26. root.destroy()
  27. sys.exit()
  28.  
  29. def save_file():
  30. file_name = filedialog.asksaveasfilename(initialdir = __file__,title = "Select file")
  31. #insert function to save the file as file_name
  32. print(file_name)
  33.  
  34. def open_file():
  35. open_file = tkFileDialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("csv files","*.csv"),("all files","*.*")))
  36. print (open_file)
  37.  
  38. if __name__ == '__main__':
  39. root = Tk()
  40. ents = makeform(root, fields)
  41. root.bind('<Return>', (lambda event, e=ents: fetch(e)))
  42. #button 1 - not set to open
  43. b1 = button (root, text='Open',command=lambda: open_file())
  44. b1.pack(side=LEFT, padx=5, pady=5)
  45. b2 = Button(root, text='Run', command=(lambda e=ents: fetch(e)))
  46. b2.pack(side=LEFT, padx=5, pady=5)
  47. #button 2 - dies not function accordingly
  48. b3 = Button(root, text='Save', command=lambda: save_file())
  49. b3.pack(side=LEFT, padx=5, pady=5)
  50. b4 = Button(root, text='Quit', command=lambda: quit(root))
  51. b4.pack(side=LEFT, padx=5, pady=5)
  52. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment