动态Ipython手风琴

2024-04-25 04:31:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在动态生成的手风琴菜单中跟踪从列表中选择的项目会很酷,该菜单提供后续选项。动态地填充ipython accordion小部件相对简单(尽管也许我应该使用链接的小部件?),但在每次新添加时,手风琴中先前选定的项都会切换其可见性。不用说,这很分散注意力。在

其他人也有同样的问题吗?如果是这样的话,是否有办法改变手风琴项目的可见性,例如确保最新添加的项目始终是“选定”和可见的?我使用的是Ipython 3.0和Ipython笔记本3.1.0

from IPython.html import widgets 
from IPython.display import display 
class Test():
    def __init__(self):
        caption = widgets.Latex(value = 'Select a fruit')
        w = widgets.Select(
            description="Fruits",
            options=['Apples', 'Oranges', 'Pears']
        )
        w.on_trait_change(self.change_selection, 'value')

        self.ac_cont = widgets.Box(children = [dd])
        self.accordion = widgets.Accordion(
            children = [],
            )
        display(caption, w, self.accordion)

    def change_selection(self, name, value):
        self.accordion.children = tuple(list(self.accordion.children) + [self.ac_cont])
        print len(self.accordion.children), value
        self.accordion.set_title(len(self.accordion.children)-1, value)

Test()

Tags: 项目fromselfvalue部件ipythondisplay菜单