0

我正在尝试在旋转框中传递带有 tkinterbind()事件的变量。在调试时,我发现我未能将变量传递给 spinboxbind()事件处理函数。事实上,无论旋转框显示的值如何print var,我的处理函数的行都会puteventqueue()打印0 (默认旋转框值)。

欢迎任何关于如何纠正我的错误的想法!我一定是犯了一个明显的错误,但我一直在寻找几个小时......

spinbox 事件处理函数:

def puteventqueue(var):
    print 'spinbox has been clicked'
    print var

旋转框定义:

#spinboxes for color filters
spinval = tk.IntVar()
s = tk.Spinbox(root, from_=0, to=180, textvariable=spinval, increment=5)
filters = spinval.get()
s.grid(column=3, row=0)
s.bind('<Button-1>', lambda event: puteventqueue(filters))
4

1 回答 1

2

因为过滤器已经设置为 0,并且从未更改过。

尝试以下操作:

 s.bind('<Button-1>', lambda event: puteventqueue(spinval.get()))
于 2013-06-16T11:56:00.907 回答