我提出这个问题是因为我刚刚看到了这个问题与 Tkinter 跟踪相关的回调函数有哪些限制?.
我lambda
用来添加另一个argumentmnt。这是代码:
from tkinter import *
def callbackfunc(*args, **kwargs):
print(args,kwargs)
class App(object):
def __init__(self, master):
frame = Frame(master)
frame.pack()
optionvalue = IntVar(master)
optionvalue.set(2)
optionvalue.trace("w",lambda a,b,c,x='test':callbackfunc(x))
self.optionmenu = OptionMenu(master, optionvalue, 1, 2, 3, 4)
self.optionmenu.pack()
root = Tk()
app = App(root)
root.mainloop()
我的输出:('test',) {}
我想知道的是:如果我使用 lambda,为什么不输出其他 3 个参数?