【发布时间】:2019-12-15 09:27:11
【问题描述】:
我想用 Jupyter 笔记本构建一个交互式应用,但我对小部件还没有太多经验。
在我的代码中,我定义了 2 个 SelectMultiple 小部件(参见下面代码中的定义)。
我使用例如“HBox”(参见代码)将 2 个小部件组合在特定布局中。
我还定义了一个函数,它基于这两个小部件的值在数据库中搜索并返回一个整数,该整数等于数据库中选定元素的数量(参见下面的代码)。
我想打印函数“No_selected”的输出,以便当我在 HBox 布局中显示的 2 个 SelectMultiple 小部件之一中选择不同的输入时,它会以交互方式更改。
我已尝试阅读小部件的文档 (https://ipywidgets.readthedocs.io/en/stable/user_guide.html)。
我曾尝试在函数之前使用 Interact 装饰器“@Interact”,但当我这样做时,Jupyter 会为 W1 和 W2 显示两个额外的小部件,而不是允许我通过使用 HBox 中的两个小部件来运行该函数。
W1 小部件定义示例(W2 类似):
W1 = widgets.SelectMultiple(
options=['Apples', 'Oranges', 'Pears'],
value=['Oranges'],
#rows=10,
description='Fruits',
disabled=False
)
布局示例:
Wboth = widgets.HBox([W1, W2])
函数定义示例:
def SELECTION(W1=('Apples'), W2=('Apples')):
...
...
...
return No_selected
你能建议我怎么做吗?
【问题讨论】:
标签: python-3.x jupyter interactive ipywidgets