from tkinter import *
def onMove(value):
print('in onMove', value)
root = Tk()
var = IntVar()
Scale(root, label='Scale', command=onMove,
variable=var, from_=0, to=4, length=200, tickinterval=1,
orient='horizontal').pack()
root.mainloop()
value
如果我们没有从 command=onMove 显式传递参数并且它没有在全局范围内指定,我不明白如何将参数传递给 onMove() 函数。onMove() 处理函数从哪里获取参数的值?
该小部件
Scale
提供了一个图形滑块对象,允许您从特定比例中选择值。创建这个小部件的语法是:
command - 每次移动滑块时调用的过程。 这个过程将被传递一个参数——新的比例值。如果滑块移动得很快,您可能不会在每个可能的位置都得到回调,但是当它设置时您肯定会得到回调。
variable - 此比例的控制变量(如果有)。控制变量可以来自 IntVar、DoubleVar (float) 或 StringVar 类。在后一种情况下,数值将被转换为字符串。
据我记得,它将
command=onMove
值传递给指定的函数。也就是说,在 Scale 函数内部的某个地方,执行了 onMove (1) 代码,其中数字 = 滑块的当前位置。