我有一个封装小部件的对象。
class Foo(object):
def __init__(self, widget):
self.widget = widget
我希望此对象在笔记本中显示为此小部件。
>>> my_widget
<fancy widget>
>>> Foo(my_widget)
<fancy widget>
我是否应该在我的Foo
课程中实现一种方法来实现这一目标?
答案 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附带的相关示例文件。向下滚动到“更复杂的显示”...