ipywidgets 使用复选框显示或隐藏其他小部件
ipywidgets use checkbox to display or hide other widgets
我正在使用 ipywidgets 创建一个简短的表单,显示两个字段,图像的预期宽度和高度。
我想添加一个复选框,以便在选中该框时从文件加载信息。
如果选中该框,将出现一个文本区域(或文件选择器)和一个用于加载文件的按钮,读取文件并填充文本框。
我应该通过观察复选框事件来做到这一点吗?有没有办法隐藏小部件?
我不确定小部件是否有隐藏功能。一种方法是为您的小部件构建一个 VBox
,并将这些小部件添加为子项。然后创建一个 function/method,它将 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)
我正在使用 ipywidgets 创建一个简短的表单,显示两个字段,图像的预期宽度和高度。
我想添加一个复选框,以便在选中该框时从文件加载信息。
如果选中该框,将出现一个文本区域(或文件选择器)和一个用于加载文件的按钮,读取文件并填充文本框。
我应该通过观察复选框事件来做到这一点吗?有没有办法隐藏小部件?
我不确定小部件是否有隐藏功能。一种方法是为您的小部件构建一个 VBox
,并将这些小部件添加为子项。然后创建一个 function/method,它将 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)