带有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

请参阅the documentation

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...