【发布时间】:2019-04-28 18:02:31
【问题描述】:
我正在尝试制作一个与在商店接受订单相关的程序。整个代码是关于下订单的页面,然后创建标签列表。一切都做得很好,但是我无法获得总价格。这是我的代码:
def blnclick():
n=0
uprice = price.get()
uitem = item.get()
order = {'items': uitem, 'price': uprice}
lab = order['items']
lab1 = order['price']
total = int(lab1)
c = Canvas(canvas_frme, bg='white', bd=10, width=10, height=50)
c.pack()
for values in order:
Label(c, text=lab, bg='white', font=('candara', 19)).grid(row=n, column=0)
Label(c, text=lab1, bg='white', font=('candara', 19)).grid(row=n, column=1)
totSum.set(total)
total = total+total
提前感谢您的帮助。
更新:我认为代码不擅长处理字典,因为每次我尝试使用新代码来汇总价格时,它总是总结输入一次的数字,然后插入新条目后重置。任何事物。 请注意,我仍然是 python 的学习者/学生,因此代码中的任何工作更改都是可以接受的。
update#2 当你们去购物时,您会购买多件商品,然后商品清单会显示总金额。我正在努力做到这一点。随意根据您的需要更改代码,因为我是一名学习者,并且我经常犯错误。谢谢大家
【问题讨论】:
-
你应该有类变量来保持总数 - 即。
self.total.value。现在您创建不能保留旧值的局部变量total。此外,您将新值分配给总计total = int(lab1),因此它会删除 olvder 值。 -
要将小部件添加到画布,您必须使用
canvas_window((x,y), widget). We usepack()/grid()` 将小部件添加到其他小部件 - 例如 Frame。现在你有一些混乱。
标签: python python-3.x tkinter