Я хочу суммировать значения из столбца древовидной структуры независимо от того, является ли одна из строк пустой, также я хочу удалить эту строку при нажатии кнопки Сумма. Я написал код, но всегда получаю эту ошибку:
IndexError: string index out of range
Это код:
from tkinter import*
from tkinter import ttk
myApp = Tk()
myApp.title(" Program ")
TotalEntry=Entry(myApp, width=18)
TotalEntry.grid(row=0,column=1, sticky="e", pady=5)
NewTree= ttk.Treeview(myApp, height=7)
NewTree['show'] = 'headings'
NewTree["columns"]=("1")
NewTree.column("1", width=80, anchor="center")
NewTree.heading("1", text="ID")
item = NewTree.insert("", "end", values=(2))
item = NewTree.insert("", "end", values=(""))
item = NewTree.insert("", "end", values=(6))
NewTree.grid(row=0,column=0)
def SumAllCosts():
for i in NewTree.get_children():
a = NewTree.item(i,"values")[0]
if len(a)==0:
NewTree.delete(i)
SumPreCosts=0.0
for child in NewTree.get_children():
PreCost=round(float(NewTree.item(child,"values")[0]),2)
SumPreCosts += PreCost
TotalEntry.delete(0,"end")
TotalEntry.insert(0,round(SumPreCosts,2))
Sum=Button(myApp,text=" Sum ",command=SumAllCosts)
Sum.grid(row=0,column=2, sticky="w",pady=5)
myApp.mainloop()