виджет комбинации ipywidget сработал при вводе текста

#combobox #ipywidgets

Вопрос:

Я использую виджет Combobox и заставляю этот виджет наблюдать за вызовом функции give. Однако проблема, с которой я столкнулся, заключается в том, что, когда я/пользователь вводил «ввод» в поле ввода, функция вызывалась несколько раз. В идеале я бы хотел, чтобы функция наблюдения вызывалась только после того, как я завершу ввод и нажму «ввод».

Вот пример:

 example_widget = widgets.Combobox( options = ['A','A1','A10','A101'], 
ensure_option = True, description ='Example')
 

а вот и наблюдение; перезвоните

 example_widget.observe(foo, 'value')
def foo(,_):
    print('call back got triggered')
 

таким образом, по мере постепенного ввода одного типа «A10» обратный вызов запускался три раза, а именно при вводе A, A1, A10.

Идеальное поведение состоит в том, что я ввожу A10, а затем нажимаю «enter», функция обратного вызова foo() была выполнена только один раз.

Спасибо

введите описание изображения здесь

Ответ №1:

 example_widget = widgets.Combobox( options = ['A','A1','A10','A101'], 
ensure_option = True, description ='Example', continuous_update = False)
 

необходимо установить для параметра continuous_update значение False.