3 回答
TA贡献1799条经验 获得超6个赞
与上述方法类似,您也可以这样做:
import tkinter as tk
import math
def command():
p.set(math.pi)
root = tk.Tk()
p = tk.StringVar()
p.set(' ')
button = tk.Button(root, text='Print pi', command=command)
button.pack()
label = tk.Label(root, textvariable=p)
label.pack()
root.mainloop()
TA贡献1818条经验 获得超8个赞
您可以将lambda函数传递给command按钮的选项。我在这里为两个按钮传递了 lambda 函数,因为回调函数只有一行代码。
import tkinter as tk
import math
master = tk.Tk()
button = tk.Button(master, text = "print pi", command = lambda: print(math.pi))
button.pack()
button = tk.Button(master, text = "close this window", command = lambda: exit())
button.pack()
tk.mainloop()
或者您可以通过创建一个单独的函数并将该函数作为回调添加到按钮来使其工作。
import tkinter as tk
import math
master = tk.Tk()
def closeWindow():
exit()
def print_pi():
print(math.pi)
button = tk.Button(master, text = "print pi", command = print_pi)
button.pack()
button = tk.Button(master, text = "close this window", command = closeWindow)
button.pack()
tk.mainloop()
TA贡献1829条经验 获得超4个赞
您可以使用 lambda 仅在单击按钮时调用此函数
button = Button(master, text = "print pi", command = lambda :print(math.pi))
添加回答
举报
