在IPython笔记本中显示封装的小部件

时间:2015-12-08 19:18:22

标签: ipython ipython-notebook

我有一个封装小部件的对象。

class Foo(object):
    def __init__(self, widget):
        self.widget = widget

我希望此对象在笔记本中显示为此小部件。

>>> my_widget
<fancy widget>

>>> Foo(my_widget)
<fancy widget>

我是否应该在我的Foo课程中实现一种方法来实现这一目标?

1 个答案:

答案 0 :(得分:3)

ipywidgets背对着IPython丰富的显示系统。 _ipython_display_是系统中的一个钩子,允许您拦截显示调用。请尝试以下方法:

    class Foo(object):
        def __init__(self, widget):
            self.widget = widget

        def _ipython_display_(self, **kwargs):
            self.widget._ipython_display_(**kwargs)

干杯, 乔恩

编辑:Here's ipython附带的相关示例文件。向下滚动到“更复杂的显示”...