1

需要在选项卡内设置一个 ipywidget 容器小部件(HBox、VBox 等)以下是我尝试使用文本小部件列表作为任何其他小部件的替代的虚拟示例

创建 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 中所做的那样

4

1 回答 1

1

当我复制您的示例时,我遇到了:

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

之后,我将它作为一个元组传递:

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

现在它显示选项卡。

于 2017-06-05T21:00:23.867 回答