Проблема с кнопкой и текстовым полем в jupyter с ipywidgets

#python #python-3.x #user-interface #jupyter-notebook #ipywid&ets

#python #python-3.x #пользовательский интерфейс #jupyter-ноутбук #ipywid&ets

Вопрос:

Я пытаюсь инициализировать переменную текстом, содержащимся в текстовом поле при нажатии кнопки, в записной книжке jupyter под управлением python 3. Однако, похоже, что я не могу получить доступ к значению в текстовом поле во время события нажатия кнопки и сохранить его на потом.

Вот код :

 import ipywid&ets as wid&ets
from IPython.display import display
button = wid&ets.Button(description="Click Me!")
inp = wid&ets.Text(description='Path:')
Box = wid&ets.HBox([button,inp])

def on_button_clicked(b):
    return inp.value

path = button.on_click(on_button_clicked)

display(Box
  

)

Буду признателен за любую помощь.Заранее спасибо

Ответ №1:

button.on_click Функция возвращает None. Он не возвращает значение функции, которую вы передаете в качестве аргумента. Подумайте о on_click подключении кнопки к функции, которая имеет побочные эффекты. В приведенном ниже примере я использую его для добавления в список.

 import ipywid&ets as wid&ets
from IPython.display import display
button = wid&ets.Button(description="Click Me!")
inp = wid&ets.Text(description='text:')
Box = wid&ets.HBox([button,inp])

value_list = []

def on_button_clicked(b):
    value_list.append(inp.value)
    print(value_list)

button.on_click(on_button_clicked)
Box
  

Ответ №2:

Ваше значение будет доступно через

 inp.value
  

Пожалуйста, ознакомьтесь с документацией

Комментарии:

1. Да, я понимаю это, но, похоже, я не могу использовать это значение для инициализации другой переменной при нажатии кнопки