Advertisement
al33kappa

Untitled

Jun 13th, 2018
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.30 KB | None | 0 0
  1. from tkinter import *
  2. from tkinter import messagebox
  3. root = Tk()
  4. names = ["№","Наименование","Срок хранения","Страна","Цена","В наличии"]
  5. root.title("Продукты в магазине")
  6. root.geometry("800x600")
  7. lastrow = 0
  8. a = []
  9. massiv_nomera = []
  10. massiv_file = []
  11. # massiv_file = [["вфывф","ASDadsadssaddas"],["vtoryaa"]]
  12. present_row = 0
  13. massiv_a = []
  14. indeks_intselect = 0
  15. kolvo_yacheek = 0
  16. MyFile = "qwer.txt"
  17. def defaultcells():
  18. global lastrow
  19. a=[]
  20. for i in range(6):
  21. b = Entry(root)
  22. b.grid(row=lastrow, column=i)
  23. a.append(b)
  24. lastrow += 1
  25. massiv_a.append(a)
  26. a[0].configure(width = 3)
  27. a[1].configure(width=20)
  28. a[2].configure(width=20)
  29. a[3].configure(width=20)
  30. a[4].configure(width=20)
  31. a[5].configure(width=20)
  32. for i in range(6):
  33. a[i].insert(END,names[i])
  34. a[i].configure(readonlybackground='white',state='readonly')
  35. print('lastrow + ' + str(lastrow))
  36. kontent = []
  37. def addcells():
  38. global kolvo_yacheek,massiv_a,lastrow,a
  39. c=[]
  40. if lastrow==13:
  41. btnAdd.configure(state=DISABLED)
  42. for i in range(6):
  43. if i==0:
  44. b = Entry(root,width=massiv_a[0][i]['width'])
  45. b.insert(END,kolvo_yacheek+1)
  46. # b.bind("<Button-1>", lambda event, i=i: show_row(event, nomer_row))
  47. b.grid(row=lastrow, column=i)
  48. massiv_nomera.append(b)
  49. else:
  50. b = Entry(root,width = massiv_a[0][i]['width'],readonlybackground='white',state='readonly')
  51. b.grid(row=lastrow, column=i)
  52. c.append(b)
  53.  
  54.  
  55. print("last1: "+str(lastrow))
  56. massiv_a.append(c)
  57. lastrow += 1
  58. for i in range(lastrow):
  59. if i ==0:
  60. pass
  61. else:
  62. massiv_a[i][0].bind("<Button-1>", lambda event, i=i: show_row(event, i))
  63. massiv_a[i][1].bind("<Button-1>", lambda event, i=i: show_row(event, i))
  64. massiv_a[i][2].bind("<Button-1>", lambda event, i=i: show_row(event, i))
  65. massiv_a[i][3].bind("<Button-1>", lambda event, i=i: show_row(event, i))
  66. massiv_a[i][4].bind("<Button-1>", lambda event, i=i: show_row(event, i))
  67.  
  68.  
  69.  
  70. print("last2: " + str(lastrow))
  71. EnableAll()
  72. txt_list[0].focus()
  73. txt_list[-1].configure(readonlybackground='white',state='readonly')
  74. btnCopy.configure(state=NORMAL)
  75. btnAdd.configure(state=DISABLED)
  76. print("lastrow: " + str(lastrow))
  77. kolvo_yacheek+=1
  78. print("kolvo_yacheek: "+str(kolvo_yacheek))
  79. clearAll()
  80.  
  81. defaultcells()
  82.  
  83. def quit():
  84. root.destroy()
  85.  
  86. intS = 1
  87. intF = 0
  88.  
  89. def allToContent():
  90. kek = []
  91. for i in range(lastrow):
  92. kek.append(massiv_a[i][0])
  93. kek.append(massiv_a[i][1])
  94. kek.append(massiv_a[i][2])
  95. kek.append(massiv_a[i][3])
  96. kek.append(massiv_a[i][4])
  97.  
  98.  
  99. def copy():
  100. global intF,txt_list,intS
  101. print("intF: "+str(intF))
  102. if (len(txt_list[0].get())==0 or len(txt_list[1].get())==0 or len(txt_list[2].get())==0 or len(txt_list[3].get())==0 or len(txt_list[4].get())==0):
  103. EnableAll()
  104. txt_list[0].focus()
  105. messagebox.showerror("Ошибка","Заполните все поля")
  106. return
  107. else:
  108. for i in range(5):
  109. massiv_a[intS][intF].configure(state=NORMAL)
  110. massiv_a[intS][intF].insert(END,txt_list[i].get())
  111. massiv_a[intS][intF].configure(readonlybackground='white',state='readonly')
  112. print("intF: " + str(intF))
  113. intF+=1
  114. btnAdd.configure(state=NORMAL)
  115. btnCopy.configure(state=DISABLED)
  116. clearAll()
  117. disableAll()
  118. intF = 0#индекс 0 - первый после номера
  119. print("intS1: "+str(intS))
  120. intS +=1
  121. print("intS2: " + str(intS))
  122. def EnableAll():
  123. for i in range(len(txt_list)):
  124. txt_list[i].configure(readonlybackground='white', state=NORMAL)
  125.  
  126. def clearAll():
  127. for i in range(len(txt_list)):
  128. txt_list[i].delete(0, END)
  129.  
  130. def disableAll():
  131. for i in range(len(txt_list)):
  132. txt_list[i].configure(readonlybackground='white',state='readonly')
  133. txt_list[-1].configure(disabledbackground = 'white',state=DISABLED)
  134. def show_row(event,number):
  135. global present_row
  136. print("numberclick: " + str(number))
  137. past_row = present_row
  138. present_row = number
  139. EnableAll()
  140. clearAll()
  141. for i in range(len(txt_list)):
  142. txt_list[i].insert(END,massiv_a[number][i].get())
  143. massiv_nomera[number-1].configure(state=NORMAL)
  144. if massiv_nomera[past_row-1].cget("readonlybackground")=='lightgreen':
  145. massiv_nomera[past_row-1].config(readonlybackground = 'white')#,state='readonly')
  146. print("выполнилось")
  147. massiv_nomera[number-1].configure(readonlybackground = 'lightgreen')
  148. massiv_nomera[number-1].config(state='readonly')
  149. disableAll()
  150. def get_from_file():
  151. global massiv_file
  152. fule = open(MyFile,"r",encoding='utf-8')
  153. massiv_file = fule.readlines()
  154. massiv_file = (y.split() for y in massiv_file)
  155. print("massiv_file: ",massiv_file)
  156. # for i in range(len(massiv_file)):
  157.  
  158. def write_to_file():
  159. global MyFile,k
  160. fule = open(MyFile,"w",encoding='utf-8')
  161. for row in massiv_file:
  162. for kta in row:
  163. fule.write(kta+" ")
  164. fule.write("\n")
  165. fule.close()
  166. btnAdd = Button(text="Добавить",command = addcells,width = 10,font="Arial 12")
  167. btnAdd.place(x = 680,y=70)
  168. btnCopy = Button(text="Записать",width = 10,command = copy,font="Arial 12")
  169. btnCopy.place(x=680,y=110)
  170. btnZapis= Button(text="В файл",width= 10,font="Arial 12",command = write_to_file)
  171. btnZapis.place(x=680,y=150)
  172. btnSave = Button(text="Сохранить",width= 10,font="Arial 12")
  173. btnSave.place(x=680,y=190)
  174. btnDelete = Button(text="Удалить",width= 10,font="Arial 12")
  175. btnDelete.place(x=680,y=230)
  176. btnExit = Button(text="Выход",width=10,command = quit,font="Arial 12")
  177. btnExit.place(x=680,y=380)
  178. "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"
  179. FamTxt= Entry()
  180. FamTxt.place(x=120,y=400)
  181. SrokTxt = Entry()
  182. SrokTxt.place(x=120,y=450)
  183. CountryTxt = Entry()
  184. CountryTxt.place(x=420,y=400)
  185. PriceTxt = Entry()
  186. PriceTxt.place(x=420,y=450)
  187. "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||0||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"
  188. lblFam = Label(text="Наименование: ",font="Arial 12")
  189. lblFam.place(x=0,y=395)
  190. lblSro = Label(text="Срок хранения: ", font = "Arial 12")
  191. lblSro.place(x=0,y=445)
  192. lblCountry = Label(text="Страна: ",font = "Arial 12")
  193. lblCountry.place(x=350,y=395)
  194. lblPrice = Label(text="Цена: ",font = "Arial 12")
  195. lblPrice.place(x=365,y=445)
  196. "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"
  197. myspinbox = Spinbox(values=("Имеется","Не имеется"))
  198. txt_list = [FamTxt,SrokTxt,CountryTxt,PriceTxt,myspinbox]
  199. myspinbox.place(x=350,y=500)
  200. disableAll()
  201. btnCopy.configure(state=DISABLED)
  202. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement