python-3.x - 创建 n 长度的小部件列表,其中 n 由另一个小部件设置
问题描述
我想让尺寸小部件的输出确定在return_widgets
函数输出中创建的小部件的数量。intslider
下面的代码在一定程度上有效,但在值更改时不会更新。
import ipywidgets as widgets
def return_widgets(size):
return [widgets.IntText(value=x) for x in range(size)]
size = widgets.IntSlider(value=3, min=0, max=5, step=1, description='size:')
w = return_widgets(size.value)
widgets.VBox([size, *w])
解决方案
我这样做了,不确定这是一个很好的解决方案,但有点工作:
import ipywidgets as widgets
from IPython.display import display
def return_widgets(size):
return [widgets.IntText(value=x) for x in range(size)]
out = widgets.Output()
def on_value_change(change):
out.clear_output()
with out:
w = return_widgets(change['new'])
display(*w)
size = widgets.IntText(value=3, min=1, max=5, description='size')
size.observe(on_value_change, 'value')
widgets.VBox([size, out])
推荐阅读
- android - 如何使用 QT 在 Android 设备上显示图像?
- prolog - 最新的 Prolog 实现基准?
- kubernetes - Vault 代理注入器坏证书
- python - 查找大小小于 x 的某些颜色的色块。(x =像素数)
- android-studio - 找不到扩展实现类 org.jetbrains.kotlin.idea.scripting.gradle.roots.GradleBuildRootsManager
- vue.js - 将 Granim 导入 Vue
- javascript - 如何创建水平滚动容器包含多行
- r - 纵向数据集 - 两个日期之间的差异
- javascript - 切换按钮 onClick 方法不起作用
- python - 镜像并输出为网络摄像头