Advertisement
al33kappa

Untitled

Jun 13th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.93 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. present_row = 0
  10. massiv_a = []
  11. indeks_intselect = 0
  12. kolvo_yacheek = 0
  13. MyFile = "hello.txt"
  14. def defaultcells():
  15. global lastrow
  16. a=[]
  17. for i in range(6):
  18. b = Entry(root)
  19. b.grid(row=lastrow, column=i)
  20. a.append(b)
  21. lastrow += 1
  22. massiv_a.append(a)
  23. a[0].configure(width = 3)
  24. a[1].configure(width=20)
  25. a[2].configure(width=20)
  26. a[3].configure(width=20)
  27. a[4].configure(width=20)
  28. a[5].configure(width=20)
  29. for i in range(6):
  30. a[i].insert(END,names[i])
  31. a[i].configure(readonlybackground='white',state='readonly')
  32. print('lastrow + ' + str(lastrow))
  33. nomer_row = 0
  34. kontent = []
  35. def addcells():
  36. global kolvo_yacheek,massiv_a,lastrow,a,nomer_row
  37. c=[]
  38. if lastrow==13:
  39. btnAdd.configure(state=DISABLED)
  40. for i in range(6):
  41. if i==0:
  42. b = Entry(root,width=massiv_a[0][i]['width'])
  43. b.insert(END,kolvo_yacheek+1)
  44. nomer_row+=1
  45. # b.bind("<Button-1>", lambda event, i=i: show_row(event, nomer_row))
  46. b.grid(row=lastrow, column=i)
  47. else:
  48. b = Entry(root,width = massiv_a[0][i]['width'],readonlybackground='white',state='readonly')
  49. b.grid(row=lastrow, column=i)
  50. c.append(b)
  51.  
  52.  
  53. print("last1: "+str(lastrow))
  54. massiv_a.append(c)
  55. lastrow += 1
  56. for i in range(lastrow):
  57. if i ==0:
  58. pass
  59. else:
  60. massiv_a[i][0].bind("<Button-1>", lambda event, i=i: show_row(event, i))
  61. massiv_a[i][1].bind("<Button-1>", lambda event, i=i: show_row(event, i))
  62. massiv_a[i][2].bind("<Button-1>", lambda event, i=i: show_row(event, i))
  63. massiv_a[i][3].bind("<Button-1>", lambda event, i=i: show_row(event, i))
  64. massiv_a[i][4].bind("<Button-1>", lambda event, i=i: show_row(event, i))
  65.  
  66.  
  67.  
  68. print("last2: " + str(lastrow))
  69. EnableAll()
  70. txt_list[0].focus()
  71. txt_list[-1].configure(readonlybackground='white',state='readonly')
  72. btnCopy.configure(state=NORMAL)
  73. btnAdd.configure(state=DISABLED)
  74. print("lastrow: " + str(lastrow))
  75. kolvo_yacheek+=1
  76. print("kolvo_yacheek: "+str(kolvo_yacheek))
  77. clearAll()
  78.  
  79. defaultcells()
  80.  
  81. def quit():
  82. root.destroy()
  83.  
  84. intS = 1
  85. intF = 0
  86.  
  87. def copy():
  88. global intF,txt_list,intS
  89. print("intF: "+str(intF))
  90. 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):
  91. txt_list[0].focus()
  92. messagebox.showerror("Ошибка","Заполните все поля")
  93. return
  94. else:
  95. for i in range(5):
  96. massiv_a[intS][intF].configure(state=NORMAL)
  97. massiv_a[intS][intF].insert(END,txt_list[i].get())
  98. massiv_a[intS][intF].configure(readonlybackground='white',state='readonly')
  99. print("intF: " + str(intF))
  100. intF+=1
  101. btnAdd.configure(state=NORMAL)
  102. btnCopy.configure(state=DISABLED)
  103. clearAll()
  104. disableAll()
  105. intF = 0#индекс 0 - первый после номера
  106. print("intS1: "+str(intS))
  107. intS +=1
  108. print("intS2: " + str(intS))
  109. def EnableAll():
  110. for i in range(len(txt_list)):
  111. txt_list[i].delete(0, END)
  112. txt_list[i].configure(readonlybackground='white', state=NORMAL)
  113.  
  114. def clearAll():
  115. for i in range(len(txt_list)):
  116. txt_list[i].delete(0, END)
  117.  
  118. def disableAll():
  119. for i in range(len(txt_list)):
  120. txt_list[i].configure(readonlybackground='white',state='readonly')
  121. txt_list[-1].configure(disabledbackground = 'white',state=DISABLED)
  122. def show_row(event,number):
  123. global present_row
  124. print("numberclick: " + str(number))
  125. past_row = present_row
  126. present_row = number
  127. btnAdd = Button(text="Добавить",command = addcells,width = 10,font="Arial 12")
  128. btnAdd.place(x = 680,y=70)
  129. btnCopy = Button(text="Записать",width = 10,command = copy,font="Arial 12")
  130. btnCopy.place(x=680,y=110)
  131. btnCreate= Button(text="Создать",width= 10,font="Arial 12")
  132. btnCreate.place(x=680,y=150)
  133. btnSave = Button(text="Сохранить",width= 10,font="Arial 12")
  134. btnSave.place(x=680,y=190)
  135. btnDelete = Button(text="Удалить",width= 10,font="Arial 12")
  136. btnDelete.place(x=680,y=230)
  137. btnExit = Button(text="Выход",width=10,command = quit,font="Arial 12")
  138. btnExit.place(x=680,y=380)
  139. "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"
  140. FamTxt= Entry()
  141. FamTxt.place(x=120,y=400)
  142. SrokTxt = Entry()
  143. SrokTxt.place(x=120,y=450)
  144. CountryTxt = Entry()
  145. CountryTxt.place(x=420,y=400)
  146. PriceTxt = Entry()
  147. PriceTxt.place(x=420,y=450)
  148. "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||0||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"
  149. lblFam = Label(text="Наименование: ",font="Arial 12")
  150. lblFam.place(x=0,y=395)
  151. lblSro = Label(text="Срок хранения: ", font = "Arial 12")
  152. lblSro.place(x=0,y=445)
  153. lblCountry = Label(text="Страна: ",font = "Arial 12")
  154. lblCountry.place(x=350,y=395)
  155. lblPrice = Label(text="Цена: ",font = "Arial 12")
  156. lblPrice.place(x=365,y=445)
  157. "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"
  158. myspinbox = Spinbox(values=("Имеется","Не имеется"))
  159. txt_list = [FamTxt,SrokTxt,CountryTxt,PriceTxt,myspinbox]
  160. myspinbox.place(x=350,y=500)
  161. disableAll()
  162. btnCopy.configure(state=DISABLED)
  163. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement