Advertisement
al33kappa

python

Jun 13th, 2018
812
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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