ipywidgets использует флажок для отображения или скрытия других виджетов
Я использую ipywidgets для создания короткой формы, показывающей два поля, ожидаемую ширину и высоту изображения.
Я хочу добавить флажок, чтобы, если флажок установлен, информация загружалась из файла.
Если флажок установлен, должна появиться текстовая область (или селектор файлов), и кнопка для загрузки файла прочитает его и заполнит текстовые поля.
Должен ли я сделать это, наблюдая за событием флажка? есть ли способ скрыть виджет?
1 ответ
Решение
Я не уверен, что есть функция скрытия для виджета. Одним из способов сделать это было бы построить 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)