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

---

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

---

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

## Функции

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

#### `exception curses.panel.error`

Исключение, возникающее при возврате ошибки функцией библиотеки панелей curses.

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

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

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

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

Возвращает объект панели, связывая его с указанным окном *win* и помещая новую панель на вершину стека панелей. Имейте в виду, что нужно явно сохранять ссылку на возвращаемый объект панели. В противном случае объект панели будет удалён сборщиком мусора и извлечён из стека панелей.

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

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

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

Обновляет виртуальный экран после изменений в стеке панелей. Эта функция не вызывает [`curses.doupdate()`](https://python-all.ru/3.15/library/curses.html#curses.doupdate), поэтому его нужно вызывать самостоятельно.

## Объекты панелей

Keep the old URL fragments working (see gh-89554)

#### `class curses.panel.panel`

Объекты панелей, возвращаемые [`new_panel()`](https://python-all.ru/3.15/library/curses.panel.html#curses.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()`

Отображает панель (которая могла быть скрыта), помещая её на вершину\\nстека панелей.

#### `panel.top()`

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

#### `panel.userptr()`

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

#### `panel.window()`

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