该页面是 Jupyter Widgets 官方文档中的示例章节,主题为“Simple Widget Introduction”(简单 Widget 介绍),用于说明 ipywidgets 中控件的基本概念与操作方式。
一、用途 Widget 是带有事件处理能力的 Python 对象,在浏览器中具有表示形式,通常呈现为滑块、文本框等控件。它们可用于为 Notebook 构建交互式图形用户界面(GUI),也可用于在 Python 与 JavaScript 之间同步有状态和无状态信息。
二、主要内容
- 使用控件:需要先导入 ipywidgets。Widget 拥有自己的显示 repr,可借助 IPython 的显示框架展示。构造并返回一个 IntSlider 会自动显示该控件,控件显示在代码单元格下方的输出区域;清除单元格输出也会移除控件。也可以使用 display(...) 显式显示控件。
- 多次 display():如果同一个控件被显示两次,前端中显示的实例会彼此保持同步。文档建议拖动下方滑块并观察上方滑块的变化。其原因是:控件在后端由单个对象表示,每次显示控件时,前端会为该同一对象创建一个新的表示,这种表示称为视图(view)。
- 关闭控件:可通过调用控件的 close() 方法关闭控件。
- 控件属性:所有 IPython 控件共享相似的命名方案。读取控件值可查询其 value 属性;设置控件值可设置其 value 属性。除 value 外,大多数控件还共享 keys、description 和 disabled。要查看某个具体控件所有已同步、有状态的属性列表,可查询其 keys 属性。
- 设置控件属性初始值的简写:在创建控件时,可通过在控件构造函数中以关键字参数的形式定义部分或全部初始值。
- 链接两个相似控件:如果需要以两种不同方式显示同一个值,就必须使用两个不同的控件。此时不必手动同步两个控件的值,可以使用 link 或 jslink 函数将两个属性链接在一起(两者区别在 Widget Events 中讨论)。文档示例将两个控件的值链接在一起。
- 解除链接:解除控件链接很简单,只需在 link 对象上调用 .unlink。文档建议在解除链接后尝试更改其中一个控件,以观察它们可以独立变化。
三、适用场景 适用于在 Jupyter Notebook 中创建交互式界面、以多种视图展示同一状态、在 Python 与 JavaScript 之间同步状态等场景。
四、限制 页面仅提供基础介绍,关于 link 与 jslink 的区别指向 Widget Events 页面;标题为“Try Jupyter Widgets”的入口及页面中提到的具体交互示例(如拖动滑块观察同步、解除链接后独立更改)需要在实际 Notebook 环境中运行体验。页面未提供安装命令、收费、价格、平台支持范围或具体使用步骤之外的额外信息。