我有这段python代码,运行时代码没有显示任何错误,但当请点击按钮时,结果不会显示

我有这段python代码,运行时代码没有显示任何错误,但当请点击按钮时,结果不会显示,python,tkinter,Python,Tkinter,我有这段python代码,运行时代码没有显示任何错误,但当请点击按钮时,结果不会显示 from tkinter import * root = Tk() def cal(): l=[15,7,9,11] s=0 for i in range(0,len(l)): s=s+l[i] return s b = Button(root, text="ok", command=cal()) b.pack() label = Label(root, text

我有这段python代码,运行时代码没有显示任何错误,但当请点击按钮时,结果不会显示

from tkinter import *

root = Tk()

def cal():
    l=[15,7,9,11]
    s=0
    for i in range(0,len(l)):
        s=s+l[i]
return s

b = Button(root, text="ok", command=cal())
b.pack()

label = Label(root, text=cal())
label.pack()

root.mainloop()

您需要存储对函数
command=cal
的引用,而不是存储函数的返回值
command=cal()?答案是这样写的:
command=cal
。这仍然不会改变文本,
st=StringVar();label=label(root,textvariable=st)
,您可以在回调函数中设置标签,
st.set(s)
,这当然是正确的。哦,是的,op的代码中仍然有很多问题,但这解决了他们帖子中的问题。剩下的留给读者作为练习。谢谢你的回复