用于跟踪tkinter变量的Lambda命令

时间:2017-04-20 10:10:06

标签: python-3.x lambda tkinter

我想知道这行代码中lambda之后的每个命令是什么用途及其用途。我对它的原因没有任何意义:

sv.trace("w", lambda name, index, mode, sv=sv: self.NameLimit(sv))

我已经通过验证工作,但我不知道名称,索引,模式,sv = sv的用途。

我必须理解它在我的代码中使用它,因为这非常重要。 我不需要一个非常详细的解释(虽然没关系)但只是概述每个lambda参数的作用。 谢谢:))

使用此示例代码:

from tkinter import *
from tkinter import ttk
import random
def main():
    pass

if __name__ == '__main__':
    main()



def callback(sv):
    c = sv.get()[0:9]
    print ("c=", c)
    sv.set(c)

root = Tk()
sv = StringVar()
sv.trace("w", lambda name, index, mode, sv=sv: callback(sv))
e = Entry(root, textvariable=sv)
e.pack()
root.mainloop()

0 个答案:

没有答案