0

晚上好,我最近在使用 tkinter windows 时遇到了麻烦。我有一个程序,用户可以在其中从商店“购买”东西,将想要的产品添加到购物车后,一个按钮将他们带到订单的“最终”审查,他们可以在其中删除他们不想要的项目,问题是,我需要销毁那个窗口,显示信息窗口说“您不想要的商品已从购物车中删除”,然后再次运行“最终预览”(使用新数据,AKA 没有不受欢迎的项目)。问题是,在销毁窗口后,出现一条错误消息:

TypeError: 'Toplevel' object is not callable

我的代码结构是这样的:

def reviewwindow(*previous window*,cartlist):
    previuswindow.destroy()
    reviewwindow=Toplevel(gui)
    reviewwindow.title("cart review")
    reviewwindow.geometry("450x450")
    #code about the stuff I need to do#
    botonb= Button(reviewwindow, text = "Delete items",command=lambda:       deleteitems(reviewwindow,*previous window*,cartlist,delete), width=7)
botonb.grid(row=8,column=1)

def deleteitems(reviewwindow,*previous window*,cartlist,delete):
   reviewwindow.destroy()
   deleteitems=Toplevel(gui)
   deleteitems.title("delete")
   deleteitems.geometry("300x300")

#code##code#
boton= Button(deleteitems, text = "go back",command=lambda:reviewwindow(*previous window*,new_cartlist), width=9)
boton.grid(row=2,column=1)

我不知道我是否把我的问题说得足够清楚,我需要更多的解释或者我很乐意提供更多的东西。

4

1 回答 1

1

问题是您有一个名为 的函数reviewwindow,但随后您分配Toplevel(gui)reviewwindow. 也一样deleteitems。当您调用这些函数时,程序会尝试调用一个Toplevel对象,而这些是不可调用的。为每个唯一值选择唯一名称。

于 2015-04-30T00:26:35.280 回答