Опитвам се да премахна дъщерна джаджа от група джаджи на HBox ipython в бележник на ipython. Създаването на група джаджи изглежда така:
buttons = [widgets.Button(description=str(i)) for i in range(5)]
mybox = widgets.HBox(children=buttons)
mybox
Това показва 5 бутона.
Сега имам група от пет бутона и бих искал да премахна последния бутон. Доколкото мога да кажа, обектът кутия няма метод за премахване на деца. Така че мисълта ми беше да затворя последната джаджа в групата:
mybox.children[-1].close()
Сега се показват само първите 4 бутона (0, 1, 2, 3), което е, което искам, но ако получа описанието от групата, 5-ият бутон все още е там:
[child.description for child in mybox.children]
['0', '1', '2', '3', '4']
Резултатът, който очаквах и това, от което се нуждая, е следното:
['0', '1', '2', '3']
Мога просто да създам копие на парче, но това причинява други проблеми и наистина бих искал да мога да променя оригиналната кутия.
Това не е това, което ми трябва:
mybox = widgets.HBox(children=mybox.children[:-1])