从javascript设置ipython小部件值?

时间:2015-10-09 00:49:06

标签: javascript ipython jupyter

假设在IPython笔记本中创建了一个ipywidget,如下所示:

from ipywidgets import widgets
i = widgets.IntText()

有没有办法从Javascript设置值?我怀疑我需要知道小部件的一些通信。或者是否有更好的方法在Python中设置一个从Javascript设置的变量?

用例是我想将鼠标点击位置(通过Javascript获取)位置发送回Python。

2 个答案:

答案 0 :(得分:4)

感谢SylvainCorlay和ipython gitter的jasongrout,他们能够通过这个来谈谈我:

republished to another exchange when any of the following events occur:
    The message is rejected (basic.reject or basic.nack) with requeue=false,
    The TTL for the message expires; or
    The queue length limit is exceeded.

使用事件调用onclick,以及Python x.model_id和y.model_id。

答案 1 :(得分:0)

您可以使用ipython jslink小部件在JavaScript端绑定小部件模型。

from ipywidgets import IntText, IntSlider, jslink
from IPython.display import display

text, slider = IntText(), IntSlider()
link = jslink((text, 'value'), (slider, 'value'))
display(text, slider)

如果您需要纯JavaScript解决方案,可以使用小部件ID从小部件管理器处理小部件模型。