Когда вы создаете эти функции и взаимодействуете, я всегда пытаюсь начать с базовой c print
функции. Наличие name='All'
в вашем observe
вызове неверно, ни одна из клавиш dict не соответствует name=All
, поэтому ваша функция не запускается. Посмотрите на name
s и type
s, которые происходят с ползунка без каких-либо kwargs в вызове наблюдения:
import pandas as pd
import numpy as np
from ipywidgets import widgets
atk_dice = widgets.IntSlider(
value = 1.0,
min = 1.0,
max = 6.0,
step = 1.0,
description = 'Number of Attack Dice',
continuous_update = False)
def response(change):
print(change)
atk_dice.observe(response)
atk_dice
{'name': '_property_lock', 'old': traitlets.Undefined, 'new': {'value': 2}, 'owner': IntSlider(value=1, continuous_update=False, description='Number of Attack Dice', max=6, min=1), 'type': 'change'}
{'name': 'value', 'old': 1, 'new': 2, 'owner': IntSlider(value=2, continuous_update=False, description='Number of Attack Dice', max=6, min=1), 'type': 'change'}
{'name': '_property_lock', 'old': {'value': 2}, 'new': {}, 'owner': IntSlider(value=2, continuous_update=False, description='Number of Attack Dice', max=6, min=1), 'type': 'change'}
Возможно, вы хотите atk_dice.observe(response, names = "value", type = "change")
.