python - ipywidgets 使用复选框来显示或隐藏其他小部件
问题描述
我正在使用ipywidgets创建一个简短的表单,显示两个字段,即图像的预期宽度和高度。
我想添加一个复选框,以便如果选中该框,则从文件中加载信息。
如果选中该框,则应出现一个文本区域(或文件选择器),并有一个加载文件的按钮读取它并填充文本框。
我应该通过观察复选框事件来做到这一点吗?有没有办法隐藏一个小部件?
解决方案
我不确定小部件是否有隐藏功能。一种方法是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)
推荐阅读
- python - Python字符串替换截断新字符串
- ruby-on-rails - 如果表单本身从未持久化,您能否使表单对象适用于新操作和编辑操作?
- eclipse - 将 ECore UML 转换为 XText
- html - 如何使弹性容器的元素向左溢出?
- sql-server - 在常规 SQL 视图中使用的 SQL Server 表上创建强制执行
- asp.net-core - 使用 IIS 而不是 IIS Express 来运行 ASP.Net 核心应用程序
- javascript - 一些问题已经发生了 2 天,我无法在 npm start 中解决它
- .net - 试图从这个编码的字符串中获取字节(图像)
- go - 如何在高负载 websocket 应用程序上停止堆叠
- javascript - 如何在 JavaScript 中将 id 从另一个 const 传递给另一个 const?