iPython Notebook服务器小部件的放置问题

时间:2015-02-17 14:34:17

标签: widget ipython ipython-notebook

我无法理解为什么某段代码不能按照我希望的方式工作。这是iPython Notebook服务器的一组简单小部件。

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

def returnParameter(parameterName = 'Specify Name'):
    parameter = [ widgets.CheckboxWidget(), 
                  widgets.TextWidget(value=parameterName),
                  widgets.DropdownWidget(values=['A', 'B']),            ]

    h_container = widgets.ContainerWidget(children=parameter)
    return h_container

v_container = widgets.ContainerWidget( children=[ returnParameter(str(i)) for i in range(10) ] )

display(v_container) # <<- here it works

for h in v_container.children:
    h.remove_class('vbox')
    h.add_class('hbox')

# display(v_container) # <<- moving it here does not change 'hbox'

出于某种原因,如果我在之后执行h_container returnParameter()函数中display(v_container)的属性不会改变参数。但是,如果我将此行放在之前,它似乎确实会发生变化。我不确定为什么会这样。有帮助吗?理想情况下,我希望在函数returnParameter()中推送属性更改,但由于上述原因,这显然是不可能的。有什么建议吗?

0 个答案:

没有答案