【发布时间】:2018-10-06 01:21:08
【问题描述】:
我创建了一个树视图,我想在第一列和第二列中添加值,然后程序需要计算当您按下 ENTER 按钮时将放入第三列的值(我使用了事件和绑定)。我不知道如何将值放在 treeview 的特定列中,我总是得到这个错误:
TypeError: 'float' object is not subscriptable
我知道如何一次在每一列中插入值,但我不知道如何只向特定列插入一个值,而不更改其他列中的值。 这是我写的函数:
def PlannedCosPerSize(event):
try:
for child in tree.get_children():
Size=round(float(tree.item(child,"values")[1]),2)
PlannedCost=round(float(tree.item(child,"values")[2]),2)
PlanCostPerSize=float(round(PlannedCost/Size,2))
tree.insert("","end", values=(PlanCostPerSize)[4])
print(PlanCostPerSize)
except IndexError:
Error=messagebox.showinfo("error","You have error")
pass
tree.bind('<Return>', PlannedCosPerSize) # validate with Enter
【问题讨论】:
-
你希望它做什么:
PlannedCostPerSize[4]? -
我正在尝试将
PlannedCostPerSize插入到第 3 列,所以我写了索引 [4]。我知道这不是正确的代码,但我尝试了一些方法 -
您是否阅读过有关
insert方法的任何文档? docs.python.org/3/library/… -
是的,我没有找到解决方案。我知道如何将值插入所有列,但我不知道如何仅插入一个(特定)列
-
我更新了问题,并稍微更改了代码。请检查一下并告诉我您是否可以帮助我解决我的问题。