Jupyter 小部件#

注意

此文档适用于 ipywidgets 8。请查看 更新日志 了解新功能,并参阅 用户迁移指南 获取从 ipywidgets 7 迁移的建议。

对于自定义小部件作者,请参阅作者迁移指南以获取关于如何更新自定义小部件以支持ipywidgets 8的建议。

ipywidgets 7 的文档可在 ipywidgets 7 documentation 查阅。

Jupyter Widgets 是 交互式浏览器控件 用于Jupyter笔记本。示例包括:

  • 基本表单控件如滑块复选框文本输入框

  • 容器控件如选项卡折叠面板水平垂直布局框网格布局

  • 高级控件,如地图2D3D可视化数据表格

当使用交互式小部件时,笔记本变得生动起来。用户可以以直观和简单的方式可视化和操作数据。研究人员可以轻松看到改变模型输入如何影响结果。科学家可以共享带有图形用户界面的交互式结果,其他人无需查看代码即可使用。探索、学习和共享成为一种有趣的沉浸式体验。

an animation of slider widgets changing a plot

在线尝试#

通过立即尝试 Jupyter Widgets侧边栏,您可以在JupyterLabJupyter Notebook界面中试用ipywidgets,该界面由JupyterLite提供。

学习部件#

本文档包含对核心Jupyter小部件包的全面描述以及多个示例。

有一个视频教程采用更循序渐进的方法。该教程的 Jupyter笔记本也可获取

核心 Jupyter Widgets#

Jupyter Widgets 主要是一个提供交互控件的框架(更多信息请参阅 Widget Basics)。 ipywidgets 包 还提供了一套基本的轻量级核心表单控件,这些控件使用了该 框架。包含的控件包括文本区域、文本框、选择及 多选控件、复选框、滑块、选项卡面板、网格布局等。

Jupyter Widgets项目的主要目的是构建富交互对象的框架,而包含的核心表单控件则被有意保持为小型且自包含的。 我们鼓励并支持建立在Jupyter Widgets框架之上的强大生态系统包,以提供更复杂的交互对象,例如地图、2D和3D可视化, 或基于各种流行的JavaScript框架(如Material或Vue)构建的其他表单控件系统。

查看Jupyter Widgets 维基页面 获取更多关于基于 Jupyter Widgets 框架构建的自定义组件包的信息。

Jupyter Widgets 组件#

Jupyter Widgets框架包含几个组件:

  1. 内核中的一个包,用于为小部件提供接口。ipywidgets Python 包为 IPython 内核提供 Jupyter 小部件。其他内核可能也支持 Jupyter 小部件。

  2. 用于浏览器Jupyter前端管理Jupyter Widgets的扩展。 安装ipywidgets会自动安装JupyterLab和Jupyter Notebook的扩展 (jupyterlab-widgetswidgetsnbextension 包)。Jupyter Widgets项目还维护了一个纯HTML界面 用于在网页上嵌入Jupyter Widgets,并且许多其他前端也支持 Jupyter Widgets。

查看 Jupyter Widgets wiki页面以获取更多 来自社区关于支持Jupyter Widgets的内核和前端的信息,以及 一些基于Jupyter Widgets框架构建的自定义控件包。