Advertisement
Guest User

Untitled

a guest
May 28th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.58 KB | None | 0 0
  1. from tkinter import *
  2. from PIL import ImageTk
  3. import logic
  4.  
  5. def delete():
  6.     selection = pclist.curselection()
  7.     pclist.delete(selection)
  8.     show_servers()
  9.     del logic.servers[int(str(selection[0]))]
  10.     #print(logic.servers)
  11.  
  12.  
  13. def add_serv():
  14.     window = Toplevel(root)
  15.     window.title("Добавление сервера")
  16.     Label(window, text='RAM').grid(row=0)
  17.     Label(window, text='ROM').grid(row=1)
  18.     Label(window, text='Номер Сервера').grid(row=2)
  19.     e1 = Entry(window)
  20.     e2 = Entry(window)
  21.     e3 = Entry(window)
  22.     e1.grid(row=0, column=1)
  23.     e2.grid(row=1, column=1)
  24.     e3.grid(row=2, column=1)
  25.  
  26.     button = Button(window, text='Добавить', command=lambda:creat_serv(int(e3.get()),int(e1.get()),int(e2.get()))).grid(row=3, column=1)
  27.  
  28. def add_comp():
  29.     window = Toplevel(root)
  30.     window.title("Добавление сервера")
  31.     Label(window, text='Выберите сервер').grid(row=0)
  32.     Label(window, text='Номер покупки').grid(row=1)
  33.     Label(window, text='Дата покупки').grid(row=2)
  34.     e1 = Entry(window)
  35.     e2 = Entry(window)
  36.     e3 = Entry(window)
  37.     e1.grid(row=0, column=1)
  38.     e2.grid(row=1, column=1)
  39.     e3.grid(row=2, column=1)
  40.  
  41.     button = Button(window, text='Добавить', command=lambda:creat_comp(int(e1.get()), int(e2.get()), int(e3.get()),)).grid(row=3, column=1)
  42.  
  43. def creat_comp(serv,ident,date):
  44.     logic.new_comp(serv,ident,date)
  45.     show_servers()
  46.  
  47. def creat_serv(number,ram,rom):
  48.     logic.new_serv(number,ram,rom)
  49.     show_servers()
  50.  
  51. root = Tk()
  52. buttons = Frame(root)
  53. buttons.pack(side = TOP)
  54.  
  55. image1 = ImageTk.PhotoImage(file="asc.png")
  56. image3 = ImageTk.PhotoImage(file="computer_add.png")
  57. image4 = ImageTk.PhotoImage(file="computer_delete.png")
  58. image5 = ImageTk.PhotoImage(file="desc.png")
  59. image7 = ImageTk.PhotoImage(file="server_add.png")
  60. image8 = ImageTk.PhotoImage(file="server_delete.png")
  61.  
  62. button_list = (
  63. Button(buttons, image=image1, command=lambda: show_servers(True)),#Сортировка вверх
  64. Button(buttons, image=image3, command=add_comp),#Добавление компьютера
  65. Button(buttons, image=image4, command=lambda: delete()),#Удаление компьютера
  66. Button(buttons, image=image5, command=lambda: show_servers(False)),#Сортировка вниз
  67. Button(buttons, image=image7, command=add_serv),#Добавление сервера
  68. Button(buttons, image=image8, command=lambda: print('click8'))#Удаление сервера
  69. )
  70.  
  71. for i in button_list:
  72.     i.pack(side = RIGHT)
  73.  
  74. pclist = Listbox(root,width=60,height=20)
  75. pclist.insert(END,"Hello world")
  76. pclist.insert(END,"Hello world1")
  77. pclist.pack()
  78.  
  79. def show_servers(rev=False):
  80.     pclist.delete(0,END)
  81.     if rev:
  82.         serverlist = reversed(sorted(logic.servers.values()))#values это вывод списка
  83.     else:
  84.         serverlist = sorted(logic.servers.values())# values это вывод списка
  85.     #print(logic.servers.values())
  86.     for server in serverlist:
  87.         pclist.insert(END,'#{} RAM: {} ROM:{}'.format(server.ident,server.ram,server.rom))
  88.         for pc_id,pc in server.computer.items():
  89.             pclist.insert(END, '                            Компьютер №{} Приобрели:{} '.format(pc_id, pc[1]))
  90.  
  91.         # for i in server[3]:
  92.         #     pclist.insert(END,'\tКомпьютер №{} RAM: {} ROM:{}'.format(id,server[1],server[2]))
  93.  
  94.  
  95. # print(button_list)
  96.  
  97. show_servers()
  98. root.mainloop()
  99.  
  100.  
  101. #Удаление из logic.servers, воспользоваться функцией
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement