Python ipywidgets 复选框事件
Python ipywidgets checkbox events
我正在使用 ipywidgets.widgets.Checkbox。有没有办法处理复选框事件?请帮忙。我是初学者。
编辑:如何创建复选框列表?
没有任何直接事件,但您可以使用 observe
event。这可能会创建比您想要的更多的事件,因此您可能希望将它们筛选为一个。
from IPython.display import display
from ipywidgets import Checkbox
box = Checkbox(False, description='checker')
display(box)
def changed(b):
print(b)
box.observe(changed)
要创建 "list" 小部件,您可以使用容器 widgets。来自 link:
from ipywidgets import Button, HBox, VBox
words = ['correct', 'horse', 'battery', 'staple']
items = [Button(description=w) for w in words]
left_box = VBox([items[0], items[1]])
right_box = VBox([items[2], items[3]])
HBox([left_box, right_box])
基于 Jacques 的回答:如果使用 Jupyter Lab,而不是标准的 Jupyter Notebook,您还必须创建一个输出小部件并告诉回调函数使用装饰器写入它。所以给定的例子变成:
import ipywidgets as widgets
box = widgets.Checkbox(False, description='checker')
out = widgets.Output()
@out.capture()
def changed(b):
print(b)
box.observe(changed)
display(box)
display(out)
记录了这些步骤 here,但显然在使用 Jupyter Lab 时需要这些步骤。
我正在使用 ipywidgets.widgets.Checkbox。有没有办法处理复选框事件?请帮忙。我是初学者。
编辑:如何创建复选框列表?
没有任何直接事件,但您可以使用 observe
event。这可能会创建比您想要的更多的事件,因此您可能希望将它们筛选为一个。
from IPython.display import display
from ipywidgets import Checkbox
box = Checkbox(False, description='checker')
display(box)
def changed(b):
print(b)
box.observe(changed)
要创建 "list" 小部件,您可以使用容器 widgets。来自 link:
from ipywidgets import Button, HBox, VBox
words = ['correct', 'horse', 'battery', 'staple']
items = [Button(description=w) for w in words]
left_box = VBox([items[0], items[1]])
right_box = VBox([items[2], items[3]])
HBox([left_box, right_box])
基于 Jacques 的回答:如果使用 Jupyter Lab,而不是标准的 Jupyter Notebook,您还必须创建一个输出小部件并告诉回调函数使用装饰器写入它。所以给定的例子变成:
import ipywidgets as widgets
box = widgets.Checkbox(False, description='checker')
out = widgets.Output()
@out.capture()
def changed(b):
print(b)
box.observe(changed)
display(box)
display(out)
记录了这些步骤 here,但显然在使用 Jupyter Lab 时需要这些步骤。