ipywidgets:确定正在观察哪个窗口小部件

时间:2018-07-05 13:23:00

标签: python widget ipywidgets

我需要创建可变数量的小部件,然后确定当用户与其中一个进行交互时正在观察哪个小部件。在以下示例中,正在创建 n IntSliders

import ipywidgets as wg
def obs(change):
    print(change)
def fun(n):
    l  = []
    for i in range(n):
        l.append(wg.IntSlider())
        l[i].observe(obs, names='value')
    display(wg.VBox(l))
fun(4)

与其中一个滑块互动时,change变量仅提供所有者类型名称

{'owner': IntSlider(value=1), 'new': 1, 'old': 0, 'type': 'change', 'name': 'value'}

我想“调整” change的内容,使其在列表 l 中的位置。

注意:我不能使用现有的IntSlider属性,例如 description ,因为那样的话,它将反映在小部件外观中。

1 个答案:

答案 0 :(得分:1)

解决方案在this issue中给出。