ipywidgets использует флажок для отображения или скрытия других виджетов - PullRequest
0 голосов
/ 08 января 2019

Я использую ipywidgets для создания короткой формы, показывающей два поля, ожидаемую ширину и высоту изображения.

Я хочу добавить флажок, чтобы, если флажок установлен, информация загружалась из файла.

Если флажок установлен, должна появиться текстовая область (или селектор файлов) и кнопка для загрузки файла, прочитать его и заполнить текстовые поля.

Должен ли я сделать это, наблюдая за событием флажка? есть ли способ скрыть виджет?

1 Ответ

0 голосов
/ 10 января 2019

Я не уверен, что есть функция скрытия для виджета. Один из способов сделать это - создать VBox для ваших виджетов и добавить виджеты как дочерние. Затем создайте функцию / метод, который переназначает дочерние элементы того VBox, для которого всегда отображаются виджеты.

from ipywidgets import Checkbox, VBox

cb1 = Checkbox(description='1')
cb2 = Checkbox(description='2')
cb3 = Checkbox(description='3')

vb = VBox(children = [cb1, cb2, cb3])
top_toggle = Checkbox(description='Remove 3')

def remove_3(button):
    if button['new']:
        vb.children = [cb1, cb2]
    else:
        vb.children = [cb1, cb2, cb3]

top_toggle.observe(remove_3, names='value')
display(top_toggle)
display(vb)
...