我正在尝试在IPython.html.widgets中使用IntSlider小部件,并且我想在滑块值更改时调用函数。另外,我想将多个参数传递给函数。我能够使用on_trait_change()来调用函数,但不知道如何传递参数:
def somefn(parameter1, parameter2):
print (parameter1, parameter2)
slider = widgets.IntSlider(min=0,max=3,step=1)
slider.on_trait_change(somefn)
答案 0 :(得分:2)
我建议使用部分内容。
from IPython.display import display
import ipywidgets as widgets
def somefn(parameter1,my_arg):
print ("parameter1: {}".format(parameter1))
print ("my_arg: {}".format(my_arg))
from functools import partial
somefn_arg_0 = partial(somefn, my_arg=0)
slider = widgets.IntSlider(min=0,max=3,step=1)
slider.observe(somefn_arg_0)
display(slider)
注意我已将已弃用的on_trait_change
替换为observe
。