ipywidgets Textarea on_submit()

Posted

技术标签:

【中文标题】ipywidgets Textarea on_submit()【英文标题】: 【发布时间】:2021-12-27 00:56:40 【问题描述】:

我需要设置一个特定的工作流程,其中输入文本字段需要不止一行,因此无法使用简单的文本小部件。这就是为什么最适合使用 Textarea 小部件的原因。但是......这个小部件没有 on_submit() 方法。 有没有一种方法可以向 Textarea 添加 on_submit() 方法,这样它就可以像常规的 Text 小部件一样工作,我可以通过 Enter 击键提交输入的文本。 首选是保留 ipywidgets。 谢谢!

import ipywidgets as widgets
text = widgets.Text()
display(text)

def handle_submit(sender):
    print(text.value)

text.on_submit(handle_submit)

【问题讨论】:

【参考方案1】:

作为一种解决方法,您可以使用 ipywidgets 创建一个“提交”按钮并设置 on_button_clicked 函数打印文本区域的值。见以下代码:

import ipywidgets as widgets
text_area = widgets.Textarea()
submit_button=widgets.Button(description='Submit text',button_style='success')
def on_button_clicked(b):
  print(text_area.value)


display(text_area,submit_button)
submit_button.on_click(on_button_clicked)

输出看起来像这样:

【讨论】:

感谢@jylls,这实际上是可能的解决方法。我们的想法是避免使用按钮。

以上是关于ipywidgets Textarea on_submit()的主要内容,如果未能解决你的问题,请参考以下文章

如何从 ipywidgets 输出返回熊猫数据框

如何让 ipywidgets 在 Jupyter Lab 中工作?

使用 ipywidgets 按钮返回 DataFrame

将ipywidget按钮对齐到中心

使用线程定期更新的 Ipywidget

ipywidgets - widgets.FileUpload,更新CSV文件读取CSV文件