如何解决带有ipywidgets的jupyter中的按钮和文本框问题
在试图运行python 3的jupyter笔记本中,我试图在按下按钮时使用文本框中包含的文本初始化变量。但是,在按钮按下事件期间,似乎无法访问文本框中的值并存储以备后用。
这是代码:
import ipywidgets as widgets
from IPython.display import display
button = widgets.Button(description="Click Me!")
inp = widgets.Text(description='Path:')
Box = widgets.HBox([button,inp])
def on_button_clicked(b):
return inp.value
path = button.on_click(on_button_clicked)
display(Box
)
任何帮助将不胜感激。在此先感谢
解决方法
button.on_click
函数返回无。它不会返回您作为参数传入的函数的值。将on_click
视为将按钮连接到具有副作用的功能。在下面的示例中,我将其添加到列表中。
import ipywidgets as widgets
from IPython.display import display
button = widgets.Button(description="Click Me!")
inp = widgets.Text(description='text:')
Box = widgets.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
,
您的价值将通过
提供inp.value