ipywidgets在Tab中使用容器

时间:2017-05-25 04:44:16

标签: tabwidget ipywidgets

需要在Tab中设置ipywidget容器小部件(HBox,VBox等) 以下是我尝试使用Text小部件列表作为任何其他小部件的代表的虚拟示例

创建VBox小部件中的内容列表,将此小部件列表绑定到VBox,然后显示生成的VBox;这按预期工作:

import ipywidgets as widgets
from IPython.display import display

#just "dummy" widgets for exsample
subwids=[widgets.Text(value='Hello City'), 
 widgets.Text(value='Hello State'), 
 widgets.Text(value='Hello country '), 
 widgets.Text(value='Hello Contant'),
 widgets.Text(value='Hello Continent')
]

#bind the dummy widgets to a VBox
BOX=widgets.VBox(subwids)
#display the VBox
display(BOX)

现在我正在尝试在Tab小部件的Tab中设置现有的VBox,这是它无法工作的地方,并抛出一个错误,可以在运行以下内容时看到:

tab=widgets.Tab(BOX)
tab.set_title(0, 'GeoLevels')
display(tab)

但我想要它做的是除了标签中的VBox,就像我在Qt中所做的那样

1 个答案:

答案 0 :(得分:0)

当我再现你的例子时,我遇到了:

  

TraitError :Tab实例的'children'特征必须是元组,但是指定了类'ipywidgets.widgets.widget_box.VBox'的值。

之后,我将其作为元组传递:

tab=widgets.Tab((BOX,))
tab.set_title(0, 'GeoLevels')
display(tab)

现在显示标签。