> **Источник:** https://python-all.ru/3.0/library/curses.panel.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# `curses.panel` – расширение для curses для работы со стеком панелей.

Панели – это окна с дополнительной возможностью глубины: их можно располагать друг над другом, и отображаются только видимые части каждого окна. Панели можно добавлять, перемещать вверх или вниз по стеку и удалять.

## Функции

Модуль `curses.panel` определяет следующие функции:

#### `[curses.panel.bottom_panel]curses.panel.bottom_panel()`

Возвращает нижнюю панель в стеке панелей.

#### `[curses.panel.new_panel]curses.panel.new_panel(win)`

Возвращает объект панели, связывая его с переданным окном

*win*

. Следует учитывать, что возвращаемый объект панели необходимо явно сохранять в ссылке. В противном случае объект панели будет собран сборщиком мусора и удалён из стека панелей.

#### `[curses.panel.top_panel]curses.panel.top_panel()`

Возвращает верхнюю панель в стеке панелей.

#### `[curses.panel.update_panels]curses.panel.update_panels()`

Обновляет виртуальный экран после изменений в стеке панелей. Эта функция не вызывает

[`curses.doupdate()`](https://python-all.ru/3.0/library/curses.html#curses.doupdate)

, так что это придётся сделать самостоятельно.

## Объекты Panel

Объекты Panel, возвращаемые функцией [`new_panel()`](https://python-all.ru/3.0/library/curses.panel.html#curses.panel.new_panel) (см. выше), являются окнами с порядком наложения. С панелью всегда связано окно, которое определяет содержимое, а методы панели отвечают за глубину окна в стеке панелей.

Объекты панелей имеют следующие методы:

#### `[curses.panel.Panel.above]Panel.above()`

Возвращает панель над текущей панелью.

#### `[curses.panel.Panel.below]Panel.below()`

Возвращает панель под текущей панелью.

#### `[curses.panel.Panel.bottom]Panel.bottom()`

Перемещает панель в самый низ стека.

#### `[curses.panel.Panel.hidden]Panel.hidden()`

Возвращает true, если панель скрыта (не видна), и false в противном случае.

#### `[curses.panel.Panel.hide]Panel.hide()`

Скрывает панель. При этом объект не удаляется, а только делает окно на экране невидимым.

#### `[curses.panel.Panel.move]Panel.move(y, x)`

Перемещает панель в координаты экрана

`(y, x)`

.

#### `[curses.panel.Panel.replace]Panel.replace(win)`

Заменяет окно, связанное с панелью, на окно

*win*

.

#### `[curses.panel.Panel.set_userptr]Panel.set_userptr(obj)`

Устанавливает пользовательский указатель панели в

*obj*

. Это используется для связывания с панелью произвольных данных, которые могут быть любым объектом Python.

#### `[curses.panel.Panel.show]Panel.show()`

Отображает панель (которая могла быть скрыта).

#### `[curses.panel.Panel.top]Panel.top()`

Перемещает панель на вершину стека.

#### `[curses.panel.Panel.userptr]Panel.userptr()`

Возвращает указатель пользователя для панели. Это может быть любой объект Python.

#### `[curses.panel.Panel.window]Panel.window()`

Возвращает объект окна, связанный с панелью.
