Jupyter笔记本链接两个滑块小部件,向值添加偏移量

2024-06-16 12:56:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在阅读ipywidgets docs,试图理解是否有可能实现以下目标

我有两个滑块。将第二个滑块的最小值链接到第一个滑块的实际值很简单:

a = widgets.IntSlider(value=3, min=0, max=5)
b = widgets.IntSlider(value=7, min=6, max=10)
l = widgets.jslink((a, 'value'), (b, 'min'))
display(a, b)

是否可以向第二个滑块的最小值添加偏移?例如,如果slidera=4,我希望sliderb的最小值为5(因此,偏移量为1)。另外,是否可以同时将第一个滑块的值链接到具有不同偏移的第二个滑块的最大值?例如,如果slidera=4,我希望sliderb的最大值是10(因此,偏移量是6)


Tags: docs目标value链接displaywidgetsminmax
1条回答
网友
1楼 · 发布于 2024-06-16 12:56:16

一种可能的解决方案是添加一个事件处理程序,它侦听a中的值更改并相应地更新小部件b

from IPython.display import display
import ipywidgets as widgets

a = widgets.IntSlider(value=3, min=0, max=5)
b = widgets.IntSlider(value=7, min=6, max=10)
def on_value_change(change):
    new_a = change['new']
    b.min = new_a + 1
    b.max = new_a + 6
a.observe(on_value_change, names='value')
display(a, b)

相关问题 更多 >