散景:确定哪个模型称为on_change事件处理程序

时间:2017-01-10 15:29:04

标签: python bokeh

我有以下场景,我想用on_change执行一个函数:

def update_func:
    calling_widget = < I need the name of the widget here: "SelectorWidget" >
    do_something

SelectorWidget = MultiSelect(title="A widget", value = "default", options = option_list)

SelectorWidget.on_change('value', update_func)

相同的update_func将在不同的小部件上使用,我希望每次都能获得触发该功能的Widget的名称。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

尝试:

from functools import partial

# add a widget arg to standard callback signature
def update_func(attr, old, new, widget):
    # do something with widget

SelectorWidget = MultiSelect(title="A widget", 
                             value="default", 
                             options=option_list)

# use partial to make a callback callable with widget arg bound
SelectorWidget.on_change('value', 
                         partial(update_func, widget=SelectorWidget))