flex_subtitle = "built using jupyter-flex"
flex_external_link = "https://github.com/danielfrg/jupyter-flex/blob/master/examples/illusionist/linked.ipynb"
flex_title = "Illusionist linked widgets"
flex_orientation = "rows"
flex_show_source = True
This works in regular Jupyter widgets, its all client side.
import ipywidgets as widgets
range1 = widgets.IntSlider(description='Range 1')
range2 = widgets.IntSlider(description='Range 2')
l = widgets.jslink((range1, 'value'), (range2, 'value'))
display(range1, range2)
This works in regular Jupyter widgets, its all client side.
source_range = widgets.IntSlider(description='Source range')
target_range1 = widgets.IntSlider(description='Target range 1')
dl = widgets.jsdlink((source_range, 'value'), (target_range1, 'value'))
display(source_range, target_range1)
This requires a kernel. With illusionist we make it all client side.
The values of slider1
and slider2
are synchronized.
sliders1 = widgets.IntSlider(description='Slider 1')
slider2 = widgets.IntSlider(description='Slider 2')
l = widgets.link((sliders1, 'value'), (slider2, 'value'))
display(sliders1, slider2)
This requires a kernel. With illusionist we make it all client side.
The value of source
will be pushed to target
.
source = widgets.IntSlider(description='Source')
target = widgets.IntSlider(description='Target')
dl = widgets.dlink((source, 'value'), (target, 'value'))
display(source, target)