Jupyter Notebook - связывание двух виджетов-слайдеров с добавлением смещения к значению - PullRequest
1 голос
/ 25 октября 2019

Я читаю ipywidgets docs , пытаясь понять, возможно ли достичь следующего.

У меня есть 2 ползунка. Просто связать минимальное значение второго слайдера с фактическим значением первого слайдера:

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)

Можно ли добавить смещение к минимальному значению второго слайдера? Например, если ползунок a=4, я бы хотел, чтобы минимальное значение ползунка b было 5 (смещение 1). Кроме того, можно ли одновременно связать значение первого ползунка с максимальным значением второго ползунка с другим смещением? Например, если слайдер a=4, я бы хотел, чтобы максимальное значение слайдера b равнялось 10 (так, смещение 6).

1 Ответ

1 голос
/ 25 октября 2019

Одним из возможных решений является добавление обработчика событий, который прослушивает изменения значений в 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...