我正在尝试创建一个交互式函数,我可以使用2个小部件为同一个变量控制输入。我尝试这个是因为我想要选择滑动值(快速查看)并选择一个特定的(键入一个值)。我尝试将小部件与ipywidget.jslink
链接起来。我猜测,一旦链接的小部件链接,我可以输入任何值中的值传递给变量。然而,事情并非如此:下面,只有我在Slider中设置的值更新了函数(换句话说,在窗口小部件中键入值不会更新输出)。为什么jslink
不起作用?在此link中,我发现用ipw.jslink
代替traitlets.link
可以正常工作。
import ipywidgets as ipw
from IPython.display import display
def f(x):
return x**2
a=ipw.IntSlider(min=-10,max=20,step=1,value=10)
b=ipw.IntText(min=-10,max=20,step=1,value=10)
ipw.jslink((a,'value'),(b,'value'))
wid=ipw.interactive(f, x=a)
display(wid,b)
答案 0 :(得分:0)
如果问题是Python对象未在后端更新,则可能是因为您使用的是db.collection.aggregate([
{$addFields: {
field_total: {$sum: [
"$score_one.1",
"$score_one.2",
"$score_one.3",
"$score_one.4",
"$score_one.5"
]}
}},
{$match: {
field_total: {$lte: 6}
}}
]);
而不是jslink
[ref]。否则,我认为这是以前版本的旧问题。我用捕获的输出重新创建,并且滑块和文本都调用了函数link
:
f(x)