我正在尝试更新选项卡小部件的子级。所以,我首先创建一个简单的选项卡示例:
from ipywidgets import widgets
from IPython.display import display
lst = ['P0', 'P1', 'P2', 'P3', 'P4']
childs = [widgets.Text(description=name) for name in lst]
tab = widgets.Tab(children=childs)
[tab.set_title(num, name) for num, name in enumerate(lst)]
display(tab)
然后,我尝试删除“P2”选项卡:
child_to_remove = 2
lst.pop(child_to_remove)
tab.children = [i for k, i in enumerate(tab.children) if k != child_to_remove]
[tab.set_title(num, name) for num, name in enumerate(lst)]
如果我查看已经显示的选项卡,新标题是:“P0”、“P1”、“P4”和“第 6 页”。如果我再次运行display(tab)
该选项卡就可以了。但是如果我删除最后一个选项卡就没有问题child_to_remove = 4
。
如何更新第一个创建的选项卡而不使用display(tab)
每个选项卡并拥有正确的标题?
谢谢 !