ipython CheckboxWidget 放置方式

2 投票
1 回答
1075 浏览
提问于 2025-04-18 09:36

我想在我的ipython笔记本中创建两个并排的复选框列:

from IPython.html import widgets # Widget definitions
from IPython.display import display # Used to display widgets in the notebook

comps = ['A', 'B', 'C']
trigs = ['X', 'Y', 'Z']

components = []
for comp in comps:
    components.append(widgets.CheckboxWidget(description = comp, value=False))

comp_container = widgets.ContainerWidget(children = components)
comp_container.add_class('vbox')
comp_container.add_class("align-start")

triggers = []
for trig in trigs:
    triggers.append(widgets.CheckboxWidget(description = trig, value=False))

trig_container = widgets.ContainerWidget(children = triggers)
trig_container.add_class('vbox')
trig_container.add_class("align-end")

main_container = widgets.ContainerWidget(children = [comp_container, trig_container])
main_container.set_css({
    'background': '#999999',
    'width': '100%',
})
main_container.remove_class('vbox')
main_container.add_class("hbox")

display(main_container)

可惜,这样做的结果是:

https://i.stack.imgur.com/MgyXl.png

有没有办法让两个复选框列表并排显示呢?

1 个回答

2

是的。我不太明白为什么会这样,但你需要在显示小部件之后,改变一下css类 'vbox''hbox'

...    
display(main_container)
main_container.remove_class('vbox')
main_container.add_class("hbox")

显示两个列的小部件

撰写回答