直接跳到内容

IPyWidget 组件

PnIPyWidget 组件可以在 Panel 应用程序中渲染任何 ipywidgets 模型,不论是在笔记本环境中还是在部署的服务器上。这使得可以直接从 Panel 中利用这个不断发展的生态系统,只需将组件包装在面板中即可。

在笔记本中,这不是必需的,因为 Panel 只是使用常规的笔记本 ipywidget 渲染器。特别是在 JupyterLab 中,以这种方式导入 ipywidgets 扩展可能会干扰 UI 并使 JupyterLab UI 无法使用,因此请谨慎启用扩展。

底层实现为panel.pane.IPyWidget,参数基本一致,参考文档:https://panel.holoviz.org/reference/panes/IPyWidget.html

基本用法

panel_vuepy 函数会自动将任何 ipywidgets 对象转换为可显示的面板,同时保持其所有交互功能:

交互性和回调

任何具有 value 参数的 ipywidget 也可以在 pn.depends 装饰的回调中使用,例如,这里我们声明一个依赖于 FloatSlider 值的函数:

如果您想自己编写回调,也可以像通常一样使用 traitletsobserve 方法。要了解更多信息,请参阅 ipywidgets 文档中的 Widget Events 部分。

外部小部件库

PnIPyWidget 组件不仅限于简单的小部件,ipywidget 库(如 ipyvolumeipyleaflet)也受支持。

限制

ipywidgets 支持有一些限制,因为它整合了两个截然不同的生态系统。特别是,目前还不能在 Panel 和 ipywidget 对象之间设置 JS 链接或支持嵌入。这些限制不是基本的技术限制,可能在未来得到解决。

API

属性

属性名说明类型默认值
object被显示的 ipywidget 对象object None
default_layout包装图表和小部件的布局pn.layout.Panel Row
sizing_mode尺寸调整模式str 'fixed'
width宽度int, str None
height高度int, str None
min_width最小宽度int None
min_height最小高度int None
max_width最大宽度int None
max_height最大高度int None
margin外边距int, tuple 5
css_classesCSS类名列表list []

Events

事件名说明类型

Slots

插槽名说明
default自定义默认内容

方法

属性名说明类型

src/examples/panel_vuepy/panes/IPyWidget

IPyWidget 组件已经加载完毕