一个变量

时间:2017-04-10 21:46:29

标签: python ipywidgets

我正在尝试创建一个交互式函数,我可以使用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)

1 个答案:

答案 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)