# 16.13. `curses.panel` - curses的面板集合扩展

面板是具有增加的深度特征的窗口，因此它们可以堆叠在彼此的顶部，并且仅显示每个窗口的可见部分。面板可以添加，在堆栈中上移或下移，并删除。

## 16.13.1. 函数

模块`curses.panel`定义以下函数：

`curses.panel.``bottom_panel`()

  返回面板集中的底部面板。

`curses.panel.``new_panel`(win)

  返回面板对象，将其与给定窗口win关联。请注意，您需要保留显式引用的返回面板对象。如果没有，面板对象将被垃圾收集并从面板集中移除。

`curses.panel.``top_panel`()

  返回面板集中的顶部面板。

`curses.panel.``update_panels`()

  在面板集中更改后更新虚拟屏幕。这不会调用`curses.doupdate()`，所以你必须自己做。

## 16.13.2. Panel对象

由上述`new_panel()`返回的面板对象是具有堆叠顺序的窗口。总是有一个与确定内容的面板相关联的窗口，而面板方法负责窗口在面板集合中的深度。

面板对象有以下方法：

`Panel.``above`()

  返回当前面板上方的面板。

`Panel.``below`()

  返回当前面板下方的面板。

`Panel.``bottom`()

  将面板推到堆叠的底部。

`Panel.``hidden`()

  如果面板被隐藏（不可见），则返回true，否则返回false。

`Panel.``hide`()

  隐藏面板。这不会删除对象，它只是使屏幕上的窗口不可见。

`Panel.``move`(y, x)

  将面板移动到屏幕坐标`（y， x）`。

`Panel.``replace`(win)

  将与面板关联的窗口更改为win窗口。

`Panel.``set_userptr`(obj)

  将面板的用户指针设置为obj。这用于将任意数据与面板关联，并且可以是任何Python对象。

`Panel.``show`()

  显示面板（可能已隐藏）。

`Panel.``top`()

  将面板推到堆叠的顶部。

`Panel.``userptr`()

  返回面板的用户指针。这可能是任何Python对象。

`Panel.``window`()

  返回与面板关联的窗口对象。