Spec-Zone.ru › Python 3.11

curses — Обработка терминала для дисплеев с ячейками символов

Исходный код: Lib/curses

Модуль curses предоставляет интерфейс к библиотеке curses, фактическому стандарту для переносимой расширенной обработки терминала.

Хотя curses чаще всего используется в среде Unix, доступны версии для Windows, DOS и, возможно, других систем. Этот модуль расширения разработан для соответствия API ncurses, открытой библиотеке curses, размещенной в Linux и вариантах Unix BSD.

Примечание

Всякий раз, когда в документации упоминается символ, он может быть указан как целое число, строка Unicode длиной в один символ или строка байтов длиной в один байт.

Всякий раз, когда в документации упоминается строка символов, она может быть указана как строка Unicode или строка байтов.

См. также

Module curses.ascii

Утилиты для работы с ASCII-символами независимо от настроек локали.

Module curses.panel

Расширение стека панелей, которое добавляет глубину окнам curses.

Module curses.textpad

Редактируемый виджет текста для curses, поддерживающий привязки в стиле Emacs.

Программирование с использованием curses в Python

Материал по руководству по использованию curses с Python, написанный Эндрю Куклинг и Эриком Реймондом.

Директория Tools/demo/ в дистрибутиве исходного кода Python содержит несколько демонстрационных программ, использующих привязки curses, предоставляемые этим модулем.

Функции

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

exception curses.error

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

Примечание

Всякий раз, когда аргументы x или y для функции или метода являются необязательными, они по умолчанию принимают значение текущих координат курсора. Всякий раз, когда attr является необязательным, он по умолчанию равен A_NORMAL.

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

curses.baudrate()

Возвращает скорость вывода терминала в битах в секунду. В эмуляторах программных терминалов она будет иметь фиксированное высокое значение. Включено по историческим причинам; раньше использовалось для написания циклов вывода с задержками и иногда для изменения интерфейсов в зависимости от скорости линии.

curses.beep()

Издает короткий звуковой сигнал.

curses.can_change_color()

Возвращает True или False, в зависимости от того, может ли программист изменять цвета, отображаемые терминалом.

curses.cbreak()

Переход в режим cbreak. В режиме cbreak (иногда называемом «редким» режимом) обычное буферирование строки tty выключается, и символы доступны для чтения по одному. Однако, в отличие от режима raw, специальные символы (прерывание, выход, приостановка и управление потоком) сохраняют свое действие на драйвере tty и вызывающей программе. Вызов сначала raw(), а затем cbreak() оставляет терминал в режиме cbreak.

curses.color_content(color_number)

Возвращает интенсивность красной, зеленой и синей (RGB) составляющих в цвете color_number, который должен быть между 0 и COLORS - 1. Возвращает кортеж из 3 элементов, содержащий значения R,G,B для данного цвета, которые будут между 0 (нет компоненты) и 1000 (максимальное количество компоненты).

curses.color_pair(pair_number)

Возвращает значение атрибута для отображения текста в указанной паре цветов. Поддерживаются только первые 256 пар цветов. Это значение атрибута можно комбинировать с A_STANDOUT, A_REVERSE и другими A_* атрибутами. pair_number() является аналогом этой функции.

curses.curs_set(visibility)

Устанавливает состояние курсора. visibility может быть установлен в 0, 1, или 2, для невидимого, нормального или очень видимого. Если терминал поддерживает запрошенную видимость, возвращает предыдущее состояние курсора; в противном случае поднимает исключение. На многих терминалах режим «видимый» — это подчеркнутый курсор, а режим «очень видимый» — курсор в виде блока.

curses.def_prog_mode()

Сохраняет текущий режим терминала как режим «программы», режим, когда работающая программа использует curses. (Его аналогом является режим «оболочки», когда программа не использует curses.) Последующие вызовы reset_prog_mode() восстановят этот режим.

curses.def_shell_mode()

Сохраняет текущий режим терминала как режим «оболочки», режим, когда работающая программа не использует curses. (Его аналогом является режим «программы», когда программа использует возможности curses.) Последующие вызовы reset_shell_mode() восстановят этот режим.

curses.delay_output(ms)

Вставляет паузу в ms миллисекунд в выводе.

curses.doupdate()

Обновляет физический экран. Библиотека curses хранит две структуры данных: одну, представляющую текущее содержимое физического экрана, и виртуальный экран, представляющий желаемое следующее состояние. doupdate() обновляет физический экран, чтобы он соответствовал виртуальному.

Виртуальный экран может быть обновлен вызовом noutrefresh() после операций записи, таких как addstr(), выполненных на окне. Нормальный вызов refresh() просто noutrefresh() за которым следует doupdate(); если вам нужно обновить несколько окон, вы можете ускорить производительность и возможно уменьшить мерцание экрана, выполнив вызовы noutrefresh() на всех окнах, за которыми следует один вызов doupdate().

curses.echo()

Переход в режим ввода с отображением. В режиме ввода с отображением каждый вводимый символ отображается на экране по мере ввода.

curses.endwin()

Деинициализирует библиотеку и возвращает терминал в нормальное состояние.

curses.erasechar()

Возвращает текущий символ стирания пользователя в виде объекта bytes длиной один байт. Под Unix-подобными операционными системами это свойство управляющего tty программы curses, и оно не устанавливается самой библиотекой curses.

curses.filter()

Функция filter(), если используется, должна быть вызвана до вызова initscr(). Эффект заключается в том, что во время этих вызовов LINES устанавливается в 1; возможности clear, cup, cud, cud1, cuu1, cuu, vpa отключаются; и строка home устанавливается в значение cr . Эффект заключается в том, что курсор ограничен текущей строкой, как и обновления экрана. Это может быть использовано для включения редактирования строк по одному символу за раз, не затрагивая остальной экран.

curses.flash()

Мигнуть экраном. То есть, изменить его на режим обратного видео, а затем вернуть его обратно в короткий интервал. Некоторые предпочитают такой «видимый звонок» звуковому сигналу внимания, производимому beep().

curses.flushinp()

Очистить все буферы ввода. Это отбрасывает любой введенный пользователем предварительный ввод, который еще не был обработан программой.

curses.getmouse()

После того, как getch() возвращает KEY_MOUSE для сигнализации о событии мыши, эта функция должна быть вызвана для получения очереди событий мыши, представленной в виде 5-кортежа (id, x, y, z, bstate). id — значение ID, используемое для различения нескольких устройств, а x, y, z — координаты события. (z в настоящее время не используется.) bstate — целочисленное значение, биты которого будут установлены для указания типа события и будет являться побитовым ИЛИ одного или нескольких из следующих констант, где n — номер кнопки от 1 до 5: BUTTONn_PRESSED, BUTTONn_RELEASED, BUTTONn_CLICKED, BUTTONn_DOUBLE_CLICKED, BUTTONn_TRIPLE_CLICKED, BUTTON_SHIFT, BUTTON_CTRL, BUTTON_ALT.

Изменено в версии 3.10: Константы BUTTON5_* теперь доступны, если они предоставляются базовой библиотекой curses.

curses.getsyx()

Возвращает текущие координаты виртуального курсора экрана в виде кортежа (y, x). Если leaveok в настоящее время True, то возвращает (-1, -1).

curses.getwin(file)

Чтение данных, относящихся к окну, сохранённых в файле предыдущим вызовом window.putwin(). Затем выполняется создание и инициализация нового окна с использованием этих данных, и возвращается новый объект окна.

curses.has_colors()

Возвращает True, если терминал может отображать цвета; в противном случае возвращает False.

curses.has_extended_color_support()

Возвращает True, если модуль поддерживает расширенные цвета; в противном случае возвращает False. Расширенная поддержка цветов позволяет использовать более 256 пар цветов для терминалов, поддерживающих более 16 цветов (например, xterm-256color).

Расширенная поддержка цветов требует ncurses версии 6.1 или выше.

Новое в версии 3.10.

curses.has_ic()

Возвращает True, если терминал поддерживает вставку и удаление символов. Эта функция включена по историческим причинам, так как все современные эмуляторы терминалов обладают такими возможностями.

curses.has_il()

Возвращает True, если терминал поддерживает вставку и удаление строк или может их эмулировать с помощью областей прокрутки. Эта функция включена по историческим причинам, так как все современные эмуляторы терминалов обладают такими возможностями.

curses.has_key(ch)

Принимает значение ключа ch и возвращает True, если текущий тип терминала распознаёт ключ с этим значением.

curses.halfdelay(tenths)

Используется для режима полузадержки, который похож на режим cbreak, в том смысле, что символы, набранные пользователем, немедленно становятся доступными для программы. Однако после ожидания в течение tenths десятых долей секунды, вызывается исключение, если ничего не было набрано. Значение tenths должно быть числом от 1 до 255. Для выхода из режима полузадержки используйте nocbreak().

curses.init_color(color_number, r, g, b)

Изменяет определение цвета, принимая номер цвета для изменения и три значения RGB (для количества компонентов красного, зелёного и синего). Значение color_number должно быть в диапазоне от 0 до COLORS - 1. Каждое из r, g, b должно быть значением от 0 до 1000. При использовании init_color() все вхождения этого цвета на экране немедленно изменяются на новое определение. Эта функция является бесполезной для большинства терминалов; она активна только если can_change_color() возвращает True.

curses.init_pair(pair_number, fg, bg)

Изменение определения пары цветов. Принимает три аргумента: номер изменяемой пары цветов, номер цвета переднего плана и номер цвета заднего плана. Значение pair_number должно быть в диапазоне от 1 до COLOR_PAIRS - 1 (пара цвета 0 связана с белым на чёрном и не может быть изменена). Значения аргументов fg и bg должны быть в диапазоне от 0 до COLORS - 1, или, после вызова use_default_colors(), -1. Если пара цветов была ранее инициализирована, экран обновляется, и все вхождения этой пары цветов изменяются на новое определение.

curses.initscr()

Инициализация библиотеки. Возвращает объект окно, представляющий весь экран.

Примечание

Если при открытии терминала возникает ошибка, подлежащая библиотека curses может привести к завершению интерпретатора.

curses.is_term_resized(nlines, ncols)

Возвращает True, если resize_term() изменит структуру окна; False в противном случае.

curses.isendwin()

Возвращает True, если endwin() был вызван (то есть, библиотека curses была деинициализирована).

curses.keyname(k)

Возвращает имя ключа с номером k как объект типа bytes. Имя ключа, генерирующего печатаемый символ ASCII, — это символ ключа. Имя комбинации клавиш управления — это двухбайтовый объект типа bytes, состоящий из знака каретки (b'^') и соответствующего печатаемого символа ASCII. Имя комбинации клавиши Alt (128–255) — это объект типа bytes, состоящий из префикса b'M-' и имени соответствующего символа ASCII.

curses.killchar()

Возвращает текущий символ удаления строки пользователя как объект типа bytes длиной в один байт. Под Unix-подобными операционными системами это свойство управляющего tty программы curses, и оно не устанавливается самой библиотекой curses.

curses.longname()

Возвращает объект типа bytes, содержащий поле long name terminfo, описывающее текущий терминал. Максимальная длина подробного описания — 128 символов. Оно определяется только после вызова initscr().

curses.meta(flag)

Если flag равно True, допускаются ввод 8-битных символов. Если flag равно False, допускаются только 7-битные символы.

curses.mouseinterval(interval)

Устанавливает максимальное время в миллисекундах, которое может пройти между событиями нажатия и отпускания, чтобы они распознавались как щелчок, и возвращает предыдущее значение интервала. Значение по умолчанию составляет 200 миллисекунд, или одна пятая секунды.

curses.mousemask(mousemask)

Устанавливает события мыши, которые должны отслеживаться, и возвращает кортеж (availmask, oldmask). availmask указывает, какие из указанных событий мыши могут быть зарегистрированы; при полной неудаче возвращает 0. oldmask — предыдущее значение маски событий мыши данного окна. Если эта функция никогда не вызывалась, события мыши никогда не регистрируются.

curses.napms(ms)

Отдых на ms миллисекунд.

curses.newpad(nlines, ncols)

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

Пакет похож на окно, за исключением того, что он не ограничен размером экрана и не обязательно связан с конкретной частью экрана. Пакеты могут использоваться, когда требуется большое окно, и только часть окна будет отображаться на экране в данный момент. Автоматическое обновление пакетов (например, при прокрутке или эхо-отражении ввода) не происходит. Методы refresh() и noutrefresh() пакета требуют 6 аргументов для указания части пакета, которая должна отображаться, и расположения на экране, которое должно использоваться для отображения. Аргументы — pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol; аргументы p относятся к левому верхнему углу области пакета, которая должна отображаться, а аргументы s определяют область обрезки на экране, в пределах которой должна отображаться область пакета.

curses.newwin(nlines, ncols)
curses.newwin(nlines, ncols, begin_y, begin_x)

Возвращает новое окно, верхний левый угол которого находится в (begin_y, begin_x), а высота/ширина — nlines/ncols.

По умолчанию окно будет простираться от указанной позиции до правого нижнего угла экрана.

curses.nl()

Вход в режим новой строки. В этом режиме нажатие клавиши возврата переводится в новую строку при вводе и переводится в возврат и перевод строки при выводе. Режим новой строки включен по умолчанию.

curses.nocbreak()

Выход из режима cbreak. Возвращение в обычный «сырой» режим с буферизацией строк.

curses.noecho()

Выход из режима эха. Ввод символов не отображается.

curses.nonl()

Выход из режима перевода новой строки. Отключить перевод возврата каретки в новую строку на вводе и отключение низкоуровневого перевода новой строки в новую строку/возврат каретки на выводе (но это не меняет поведение addch('\n'), которое всегда выполняет эквивалент возврата каретки и подачи символа перевода строки на виртуальном экране). При отключении перевода библиотека curses может немного ускорить вертикальное перемещение; также она сможет распознать клавишу возврата каретки на вводе.

curses.noqiflush()

Когда используется процедура noqiflush(), нормальная очистка очередей ввода и вывода, связанных с символами INTR, QUIT и SUSP, не будет выполнена. Возможно, вам понадобится вызвать noqiflush() в обработчике сигнала, если вы хотите, чтобы вывод продолжался так, как будто прерывание не произошло, после выхода из обработчика.

curses.noraw()

Выход из сырого режима. Возврат в нормальный «обработанный» режим с буферизацией строк.

curses.pair_content(pair_number)

Возвращает кортеж (fg, bg) содержащий цвета для запрошенной пары цветов. Значение pair_number должно быть между 0 и COLOR_PAIRS - 1.

curses.pair_number(attr)

Возвращает номер пары цветов, установленной атрибутом attr. color_pair() является обратной функцией к этой функции.

curses.putp(str)

Эквивалентно tputs(str, 1, putchar); выводит значение указанной возможности terminfo для текущего терминала. Обратите внимание, что вывод putp() всегда направляется в стандартный вывод.

curses.qiflush([flag])

Если flag равно False, эффект тот же, что и при вызове noqiflush(). Если flag равно True, или аргумент не указан, очереди будут очищены при чтении этих управляющих символов.

curses.raw()

Вход в сырой режим. В сыром режиме отключается обычная буферизация строк и обработка прерываний, клавиш выхода, приостановки и управления потоком; символы передаются функциям ввода curses по одному.

curses.reset_prog_mode()

Восстанавливает терминал в «программный» режим, как ранее сохранил def_prog_mode().

curses.reset_shell_mode()

Восстанавливает терминал в «оболочечный» режим, как ранее сохранил def_shell_mode().

curses.resetty()

Восстанавливает состояние режимов терминала до состояния, которое было при последнем вызове savetty().

curses.resize_term(nlines, ncols)

Функция бэкенда, используемая resizeterm(), выполняет большую часть работы; при изменении размеров окон resize_term() заполняет расширенные области пробелами. Приложение должно заполнить эти области соответствующими данными. Функция resize_term() пытается изменить размер всех окон. Однако из-за соглашения о вызове для страниц невозможно изменить их размер без дополнительного взаимодействия с приложением.

curses.resizeterm(nlines, ncols)

Изменяет размеры стандартного и текущих окон до указанных размеров и корректирует другие служебные данные, используемые библиотекой curses, которые записывают размеры окна (в частности, обработчик SIGWINCH).

curses.savetty()

Сохраняет текущее состояние режимов терминала в буфере, который можно использовать с resetty().

curses.get_escdelay()

Извлекает значение, установленное set_escdelay().

Введено в версии 3.9.

curses.set_escdelay(ms)

Устанавливает количество миллисекунд, которое нужно ожидать после чтения управляющего символа, чтобы отличить отдельный символ escape, введенный с клавиатуры, от последовательностей escape, отправленных курсором и функциональными клавишами.

Введено в версии 3.9.

curses.get_tabsize()

Возвращает значение, установленное set_tabsize().

Введено в версии 3.9.

curses.set_tabsize(size)

Устанавливает количество столбцов, используемых библиотекой curses при преобразовании символа табуляции в пробелы при добавлении табуляции в окно.

Введено в версии 3.9.

curses.setsyx(y, x)

Устанавливает курсор виртуального экрана в позицию y, x. Если y и x оба равны -1, то leaveok устанавливается True.

curses.setupterm(term=None, fd=- 1)

Инициализирует терминал. term — это строка, содержащая имя терминала, или None; если опущено или None, будет использовано значение переменной окружения TERM. fd — это дескриптор файла, в который будут отправлены все инициализирующие последовательности; если не указано или -1, будет использован дескриптор файла для sys.stdout.

curses.start_color()

Должен быть вызван, если программист хочет использовать цвета, и перед любым другим вызовом для работы с цветом. Хорошей практикой является вызов этой функции сразу после initscr().

start_color() инициализирует восемь основных цветов (чёрный, красный, зелёный, жёлтый, синий, пурпурный, голубой и белый), и две глобальные переменные в модуле curses, COLORS и COLOR_PAIRS, содержащие максимальное количество цветов и пар цветов, которые может поддерживать терминал. Также он восстанавливает цвета на терминале до значений, которые были при включении терминала.

curses.termattrs()

Возвращает логическое ИЛИ всех атрибутов видео, поддерживаемых терминалом. Эта информация полезна, когда программе curses требуется полный контроль над отображением экрана.

curses.termname()

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

curses.tigetflag(capname)

Возвращает значение булевой возможности, соответствующей имени возможности terminfo capname, как целое число. Возвращает значение -1 если capname не является булевой возможностью, или 0 если она отменена или отсутствует в описании терминала.

curses.tigetnum(capname)

Возвращает значение числовой возможности, соответствующей имени возможности terminfo capname, как целое число. Возвращает значение -2 если capname не является числовой возможностью, или -1 если она отменена или отсутствует в описании терминала.

curses.tigetstr(capname)

Возвращает значение строковой возможности, соответствующей имени возможности terminfo capname, как объект байтов. Возвращает None если capname не является «строковой возможностью» terminfo, или она отменена или отсутствует в описании терминала.

curses.tparm(str[, ...])

Инициализирует объект байтов str предоставленными параметрами, где str должен быть параметризованной строкой, полученной из базы данных terminfo. Например, tparm(tigetstr("cup"), 5, 3) может привести к b'\033[6;4H', точный результат зависит от типа терминала.

END_OF_DOCUMENT_MARKER
curses.typeahead(fd)

Укажите, что дескриптор файла fd должен использоваться для проверки наличия ввода. Если fd равен -1, проверка ввода не выполняется.

Библиотека curses выполняет «оптимизацию обработки перевода строки» путём периодического поиска ввода в очереди ввода во время обновления экрана. Если входной данные найдены и они поступают с tty, текущее обновление откладывается до вызова refresh или doupdate, что позволяет быстрее реагировать на команды, набранные заранее. Данная функция позволяет указать другой дескриптор файла для проверки наличия ввода.

curses.unctrl(ch)

Возвращает байтовый объект, представляющий удобочитаемое представление символа ch. Управляющие символы отображаются как знак возвратной каретки, после которого следует символ, например, как b'^C'. Печатные символы остаются неизменными.

curses.ungetch(ch)

Поместите ch в буфер, чтобы следующий вызов getch() вернул его.

Примечание

Только один символ ch может быть помещен в буфер, прежде чем будет вызван getch().

curses.update_lines_cols()

Обновляет переменные модуля LINES и COLS. Полезно для определения ручного изменения размера экрана.

Введено в версии 3.5.

curses.unget_wch(ch)

Поместите ch в буфер, чтобы следующий вызов get_wch() вернул его.

Примечание

Только один символ ch может быть помещен в буфер, прежде чем будет вызван get_wch().

Введено в версии 3.3.

curses.ungetmouse(id, x, y, z, bstate)

Поместите событие KEY_MOUSE в очередь ввода, связав с ним заданные данные состояния.

curses.use_env(flag)

Если используется, эта функция должна вызываться перед initscr() или newterm. Когда flag равно False, значения строк и столбцов, указанные в базе данных terminfo, будут использоваться, даже если переменные среды LINES и COLUMNS (используются по умолчанию) установлены, или если curses работает в окне (в этом случае по умолчанию используется размер окна, если LINES и COLUMNS не заданы).

curses.use_default_colors()

Разрешить использование значений по умолчанию для цветов на терминалах, поддерживающих эту функцию. Используйте это для поддержки прозрачности в вашем приложении. Цвет по умолчанию назначен номеру цвета -1. После вызова этой функции init_pair(x, curses.COLOR_RED, -1) инициализирует, например, цвет пары x для красного цвета переднего плана на фоновом цвете по умолчанию.

curses.wrapper(func, /, *args, **kwargs)

Инициализирует curses и вызывает другой вызываемый объект func, который должен содержать остальную часть вашего приложения, использующего curses. Если приложение вызывает исключение, эта функция восстановит терминал в нормальное состояние перед повторным поднятием исключения и генерацией трассировки стека. Вызываемый объект func затем получает основное окно ‘stdscr’ в качестве первого аргумента, а также любые другие аргументы, переданные в wrapper(). Перед вызовом func, wrapper() включает режим cbreak, отключает эхо, включает клавиатуру терминала и инициализирует цвета, если терминал поддерживает цвета. При выходе (как обычном, так и по исключению) он восстанавливает режим cooked, включает эхо и отключает клавиатуру терминала.

Объекты окон

Объекты окон, возвращаемые функциями initscr() и newwin(), имеют следующие методы и атрибуты:

window.addch(ch[, attr])
window.addch(y, x, ch[, attr])

Отображает символ ch в позиции (y, x) с атрибутами attr, перезаписывая любой ранее нарисованный символ в этой позиции. По умолчанию, позиция и атрибуты символа соответствуют текущим настройкам объекта окна.

Примечание

Запись за пределами окна, подокна или области вывода вызывает curses.error. Попытка записи в нижний правый угол окна, подокна или области вывода приведет к исключению после печати символа.

window.addnstr(str, n[, attr])
window.addnstr(y, x, str, n[, attr])

Отображает не более n символов из строки str в позиции (y, x) с атрибутами attr, перезаписывая все предыдущие символы на экране.

window.addstr(str[, attr])
window.addstr(y, x, str[, attr])

Отображает строку str в позиции (y, x) с атрибутами attr, перезаписывая все предыдущие символы на экране.

Примечание

  • Запись за пределами окна, подокна или области вывода вызывает curses.error. Попытка записи в нижний правый угол окна, подокна или области вывода приведет к исключению после вывода строки.
  • Ошибка в ncurses, бэкенде этого модуля Python, может привести к SegFault при изменении размеров окон. Это исправлено в ncurses-6.1-20190511. Если у вас более старая версия ncurses, вы можете избежать этой проблемы, если не вызываете addstr() со строкой, содержащей встроенные символы перевода строки. Вместо этого вызовите addstr() для каждой строки по отдельности.
window.attroff(attr)

Удаляет атрибут attr из набора атрибутов, применяемых к всем записям в текущем окне.

window.attron(attr)

Добавляет атрибут attr к набору атрибутов, применяемых ко всем записям в текущем окне.

window.attrset(attr)

Устанавливает набор атрибутов attr. Изначально этот набор 0 (без атрибутов).

window.bkgd(ch[, attr])

Устанавливает фоновый символ окна в ch с атрибутами attr. Изменение затем применяется ко всем позициям символов в окне:

  • Атрибут каждого символа в окне изменяется на новый фоновый атрибут.
  • В тех позициях, где ранее был фоновый символ, он меняется на новый фоновый символ.
window.bkgdset(ch[, attr])

Устанавливает фоновый цвет окна. Фоновый цвет окна состоит из символа и любого сочетания атрибутов. Часть атрибутов фонового цвета объединяется (побитовое ИЛИ) со всеми символами, отличными от пробела, которые записываются в окно. Обе части фонового цвета (символ и атрибуты) объединяются с пробелами. Фоновый цвет становится свойством символа и перемещается вместе с символом при прокрутке и операциях вставки/удаления строк/символов.

window.border([ls[, rs[, ts[, bs[, tl[, tr[, bl[, br]]]]]]]])

Рисует рамку вокруг границ окна. Каждый параметр указывает символ, используемый для определенной части рамки; см. таблицу ниже для получения подробной информации.

Примечание

Значение 0 для любого параметра приведет к использованию символа по умолчанию для этого параметра. Использование ключевых параметров невозможно. Значения по умолчанию приведены в таблице:

Параметр

Описание

Значение по умолчанию

ls

Левая сторона

ACS_VLINE

rs

Правая сторона

ACS_VLINE

ts

Верх

ACS_HLINE

bs

Низ

ACS_HLINE

tl

Левый верхний угол

ACS_ULCORNER

tr

Правый верхний угол

ACS_URCORNER

bl

Левый нижний угол

ACS_LLCORNER

br

Правый нижний угол

ACS_LRCORNER

window.box([vertch, horch])

Аналогично border(), но ls и rs равны vertch, а ts и bs равны horch. Символы углов по умолчанию всегда используются этой функцией.

window.chgat(attr)
window.chgat(num, attr)
window.chgat(y, x, attr)
window.chgat(y, x, num, attr)

Устанавливает атрибуты num символов в текущей позиции курсора или в позиции (y, x) если она задана. Если num не задано или равно -1, атрибут будет установлен для всех символов до конца строки. Эта функция перемещает курсор в позицию (y, x) если она задана. Измененная строка будет помечена с помощью метода touchline(), чтобы ее содержимое было перерисовано при следующем обновлении окна.

window.clear()

Как и erase(), но также вызывает перерисовку всего окна при следующем вызове refresh().

window.clearok(flag)

Если flag равно True, следующий вызов refresh() очистит окно полностью.

window.clrtobot()

Очистить область от курсора до конца окна: все строки ниже курсора удаляются, а затем выполняется эквивалент clrtoeol().

window.clrtoeol()

Очистить область от курсора до конца строки.

window.cursyncup()

Обновить текущую позицию курсора всех предков окна для отражения текущей позиции курсора окна.

window.delch([y, x])

Удалить символ в позиции (y, x).

window.deleteln()

Удалить строку под курсором. Все последующие строки сдвигаются вверх на одну строку.

window.derwin(begin_y, begin_x)
window.derwin(nlines, ncols, begin_y, begin_x)

Сокращение от «derive window», derwin() эквивалентно вызову subwin(), за исключением того, что begin_y и begin_x относятся к началу окна, а не к всему экрану. Возвращает объект окна для созданного окна.

window.echochar(ch[, attr])

Добавить символ ch с атрибутом attr и немедленно вызвать refresh() для окна.

window.enclose(y, x)

Проверяет, содержатся ли заданные экранные координаты символа в данном окне, возвращая True или False. Это полезно для определения подмножества окон экрана, которые содержат местоположение события мыши.

Изменено в версии 3.10: Ранее возвращало 1 или 0 вместо True или False.

window.encoding

Кодировка, используемая для кодирования аргументов метода (строки и символы Юникода). Атрибут кодировки наследуется от родительского окна при создании дочернего окна, например, с помощью window.subwin(). По умолчанию используется кодировка текущего локали (см. locale.getencoding()).

Добавлен в версии 3.3.

window.erase()

Очистить окно.

window.getbegyx()

Возвращает кортеж (y, x) координат верхнего левого угла.

window.getbkgd()

Возвращает текущую пару символа/атрибута фона данного окна.

window.getch([y, x])

Получить символ. Обратите внимание, что возвращаемое целое число не обязательно должно быть в диапазоне ASCII: клавиши функций, клавиши навигационной клавиатуры и т. д. представлены числами, большими 255. В режиме без задержки возвращает -1 если нет ввода, в противном случае ожидает нажатия клавиши.

window.get_wch([y, x])

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

Добавлен в версии 3.3.

window.getkey([y, x])

Получить символ, возвращая строку вместо целого числа, как это делает getch(). Клавиши функций, клавиши навигационной клавиатуры и другие специальные клавиши возвращают многобайтовую строку, содержащую имя клавиши. В режиме без задержки генерирует исключение, если нет ввода.

window.getmaxyx()

Возвращает кортеж (y, x) высоты и ширины окна.

window.getparyx()

Возвращает начальные координаты этого окна относительно родительского окна как кортеж (y, x). Возвращает (-1, -1) если у этого окна нет родителя.

window.getstr()
window.getstr(n)
window.getstr(y, x)
window.getstr(y, x, n)

Считывает строку байтов от пользователя с примитивной возможностью редактирования строк.

window.getyx()

Возвращает кортеж (y, x) текущей позиции курсора относительно верхнего левого угла окна.

window.hline(ch, n)
window.hline(y, x, ch, n)

Отобразить горизонтальную линию, начинающуюся в позиции (y, x) длиной n, состоящую из символа ch.

window.idcok(flag)

Если flag равно False, curses больше не будет использовать аппаратные возможности вставки/удаления символа терминала; если flag равно True, использование вставки и удаления символов разрешено. При первой инициализации curses использование вставки/удаления символов разрешено по умолчанию.

window.idlok(flag)

Если flag равно True, curses будет пытаться использовать аппаратные средства редактирования строк. В противном случае вставка/удаление строк отключены.

window.immedok(flag)

Если flag равно True, любое изменение изображения окна автоматически приводит к обновлению окна; вам больше не нужно вызывать refresh() самостоятельно. Однако это может значительно ухудшить производительность из-за многократных вызовов wrefresh. Этот параметр отключен по умолчанию.

window.inch([y, x])

Возвращает символ в заданной позиции в окне. Нижние 8 битов — собственно символ, а старшие биты — атрибуты.

window.insch(ch[, attr])
window.insch(y, x, ch[, attr])

Отобразить символ ch в позиции (y, x) с атрибутами attr, сдвигая строку от позиции x вправо на один символ.

window.insdelln(nlines)

Вставить nlines строк в указанное окно над текущей строкой. Нижние nlines строк теряются. При отрицательном nlines удаляются nlines строк, начиная с той, что находится под курсором, и оставшиеся строки сдвигаются вверх. Нижние nlines строк очищаются. Текущая позиция курсора остается неизменной.

window.insertln()

Вставить пустую строку под курсором. Все последующие строки сдвигаются вниз на одну строку.

END_OF_DOCUMENT_MARKER
window.insnstr(str, n[, attr])
window.insnstr(y, x, str, n[, attr])

Вставить строку символов (столько символов, сколько поместится на строке) перед символом под курсором, до n символов. Если n равно нулю или отрицательно, вставляется вся строка. Все символы справа от курсора сдвигаются вправо, а самые правые символы в строке теряются. Позиция курсора не меняется (после перемещения на y, x, если указано).

window.insstr(str[, attr])
window.insstr(y, x, str[, attr])

Вставить строку символов (столько символов, сколько поместится на строке) перед символом под курсором. Все символы справа от курсора сдвигаются вправо, а самые правые символы в строке теряются. Позиция курсора не меняется (после перемещения на y, x, если указано).

window.instr([n])
window.instr(y, x[, n])

Возвращает объект байтов символов, извлечённых из окна, начиная с текущей позиции курсора или с y, x, если указано. Атрибуты символов удаляются. Если n указано, instr() возвращает строку длиной не более n символов (исключая заключительный NUL).

window.is_linetouched(line)

Возвращает True, если указанная строка была изменена с момента последнего вызова refresh(); в противном случае возвращает False. Возбуждает исключение curses.error, если line не является допустимым для данного окна.

window.is_wintouched()

Возвращает True, если указанное окно было изменено с момента последнего вызова refresh(); в противном случае возвращает False.

window.keypad(flag)

Если flag равно True, последовательности escape, генерируемые некоторыми клавишами (клавишей управления, функциональными клавишами), будут интерпретироваться curses. Если flag равно False, последовательности escape будут оставаться такими же в потоке ввода.

window.leaveok(flag)

Если flag равно True, курсор остаётся на месте при обновлении, а не находится в «позиции курсора». Это уменьшает перемещение курсора, где это возможно. Если возможно, курсор будет сделан невидимым. Если flag равно False, курсор всегда будет в «позиции курсора» после обновления.

window.move(new_y, new_x)

Переместить курсор в (new_y, new_x).

window.mvderwin(y, x)

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

window.mvwin(new_y, new_x)

Переместить окно так, чтобы его верхний левый угол находился в (new_y, new_x).

window.nodelay(flag)

Если flag равно True, getch() будет неблокирующим.

window.notimeout(flag)

Если flag равно True, последовательности escape не будут ограничены по времени. Если flag равно False, после нескольких миллисекунд последовательность escape не будет интерпретироваться и останется в потоке ввода как есть.

window.noutrefresh()

Помечает для обновления, но ждёт. Эта функция обновляет структуру данных, представляющую желаемое состояние окна, но не принуждает обновление физического экрана. Для этого вызовите doupdate().

window.overlay(destwin[, sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol])

Наложить окно поверх destwin. Окна не обязательно должны быть одинакового размера, копируется только перекрывающаяся область. Эта копия не разрушительная, это означает, что текущий символ фона не перезаписывает старое содержимое destwin. Для получения точного управления копируемой областью, можно использовать вторую форму overlay(). sminrow и smincol — координаты верхнего левого угла исходного окна, а другие переменные обозначают прямоугольник в окне назначения.

window.overwrite(destwin[, sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol])

Перезаписать окно поверх destwin. Окна не обязательно должны быть одинакового размера, в этом случае копируется только перекрывающаяся область. Эта копия разрушительная, это означает, что текущий символ фона перезаписывает старое содержимое destwin. Для получения точного управления копируемой областью, можно использовать вторую форму overwrite(). sminrow и smincol — координаты верхнего левого угла исходного окна, а другие переменные обозначают прямоугольник в окне назначения.

window.putwin(file)

Записать все данные, связанные с окном, в предоставленный объект файла. Эту информацию можно позже извлечь с помощью функции getwin().

window.redrawln(beg, num)

Указывает, что num строк экрана, начиная со строки beg, повреждены и должны быть полностью перерисованы при следующем вызове refresh().

window.redrawwin()

Затронуть всё окно, заставив его полностью перерисовать при следующем вызове refresh().

window.refresh([pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol])

Немедленно обновить отображение (синхронизировать фактический экран с предыдущими методами рисования/удаления).

6 необязательных аргументов могут быть указаны только тогда, когда окно является панелью, созданной с помощью newpad(). Дополнительные параметры необходимы для указания, какие части панели и экрана участвуют. pminrow и pmincol указывают верхний левый угол прямоугольника, который должен быть отображен на панели. sminrow, smincol, smaxrow и smaxcol указывают края прямоугольника, который должен быть отображен на экране. Нижний правый угол прямоугольника, который должен быть отображён на панели, рассчитывается из экранных координат, поскольку прямоугольники должны быть одинакового размера. Оба прямоугольника должны полностью находиться внутри своих соответствующих структур. Отрицательные значения pminrow, pmincol, sminrow или smincol обрабатываются так, как будто они равны нулю.

window.resize(nlines, ncols)

Перераспределить память для окна curses, чтобы изменить его размеры на указанные значения. Если размер любого измерения больше текущих значений, данные окна заполняются пробелами, слиянием текущего отображения фона (как установлено с помощью bkgdset()) в них.

window.scroll([lines=1])

Прокрутить экран или область прокрутки вверх на lines строк.

window.scrollok(flag)

Управление действиями при перемещении курсора окна за край окна или области прокрутки, в результате действия новой строки в нижней строке или набора последнего символа последней строки. Если flag равно False, курсор остается в нижней строке. Если flag равно True, окно прокручивается вверх на одну строку. Обратите внимание, что для получения физического эффекта прокрутки на терминале также необходимо вызвать idlok().

window.setscrreg(top, bottom)

Установить область прокрутки от строки top до строки bottom. Все действия прокрутки будут происходить в этой области.

window.standend()

Отключить выделенный атрибут. На некоторых терминалах это приводит к отключению всех атрибутов.

window.standout()

Включить атрибут A_STANDOUT.

window.subpad(begin_y, begin_x)
window.subpad(nlines, ncols, begin_y, begin_x)

Возвращает подокно, верхний левый угол которого находится в (begin_y, begin_x), а ширина/высота которого равна ncols/nlines.

window.subwin(begin_y, begin_x)
window.subwin(nlines, ncols, begin_y, begin_x)

Возвращает подокно, верхний левый угол которого находится в (begin_y, begin_x), а ширина/высота которого равна ncols/nlines.

По умолчанию подокно будет простираться от указанной позиции до правого нижнего угла окна.

window.syncdown()

Обрабатывает каждую позицию в окне, которая была обработана в любом из его родительских окон. Эта функция вызывается refresh(), поэтому её обычно вызывать вручную не нужно.

window.syncok(flag)

Если flag равно True, то syncup() вызывается автоматически всякий раз, когда происходит изменение в окне.

window.syncup()

Обрабатывает все позиции в родителях окна, которые были изменены в окне.

window.timeout(delay)

Устанавливает поведение чтения для окна в режиме блокирования или неблокирования. Если delay отрицательно, используется блокирующее чтение (которое будет ждать неопределённо долго ввода). Если delay равно нулю, используется неблокирующее чтение, и getch() вернёт -1, если ввод не ожидается. Если delay положительно, то getch() будет блокироваться на delay миллисекунд и вернёт -1, если ввода всё ещё нет по истечении этого времени.

window.touchline(start, count[, changed])

Предполагается, что count строк были изменены, начиная со строки start. Если changed указан, он определяет, помечены ли затронутые строки как изменённые (changed=True) или неизменённые (changed=False).

window.touchwin()

Предполагается, что всё окно было изменено для целей оптимизации отрисовки.

window.untouchwin()

Помечает все строки в окне как неизменённые с момента последнего вызова refresh().

window.vline(ch, n[, attr])
window.vline(y, x, ch, n[, attr])

Отображает вертикальную линию, начиная с (y, x), длиной n, состоящую из символа ch с атрибутами attr.

Константы

Модуль curses определяет следующие данные члены:

curses.ERR

Некоторые функции библиотеки curses, возвращающие целое число, такие как getch(), возвращают ERR при ошибке.

curses.OK

Некоторые функции библиотеки curses, возвращающие целое число, такие как napms(), возвращают OK при успешном выполнении.

curses.version
curses.__version__

Объект типа bytes, представляющий текущую версию модуля.

curses.ncurses_version

Именованная кортеж, содержащая три компонента версии библиотеки ncurses: major, minor и patch. Все значения являются целыми числами. К компонентам можно получить доступ по имени, поэтому curses.ncurses_version[0] эквивалентно curses.ncurses_version.major и так далее.

Доступность: если используется библиотека ncurses.

Добавлена в версии 3.8.

curses.COLORS

Максимальное количество цветов, которые может поддерживать терминал. Определяется только после вызова start_color().

curses.COLOR_PAIRS

Максимальное количество пар цветов, которые может поддерживать терминал. Определяется только после вызова start_color().

curses.COLS

Ширина экрана, то есть количество столбцов. Определяется только после вызова initscr(). Обновляется функциями update_lines_cols(), resizeterm() и resize_term().

curses.LINES

Высота экрана, то есть количество строк. Определяется только после вызова initscr(). Обновляется функциями update_lines_cols(), resizeterm() и resize_term().

Некоторые константы доступны для указания атрибутов ячеек символов. Точные доступные константы зависят от системы.

Атрибут

Значение

curses.A_ALTCHARSET

Режим альтернативного набора символов

curses.A_BLINK

Режим мигания

curses.A_BOLD

Режим полужирного шрифта

curses.A_DIM

Режим затемнения

curses.A_INVIS

Режим невидимости или пустоты

curses.A_ITALIC

Режим курсива

curses.A_NORMAL

Нормальный атрибут

curses.A_PROTECT

Режим защиты

curses.A_REVERSE

Режим инвертирования цветов фона и переднего плана

curses.A_STANDOUT

Режим выделения

curses.A_UNDERLINE

Режим подчеркивания

curses.A_HORIZONTAL

Горизонтальное выделение

curses.A_LEFT

Выделение слева

curses.A_LOW

Выделение снизу

curses.A_RIGHT

Выделение справа

curses.A_TOP

Выделение сверху

curses.A_VERTICAL

Вертикальное выделение

Добавлена в версии 3.7: A_ITALIC было добавлено.

Несколько констант доступны для извлечения соответствующих атрибутов, возвращаемых некоторыми методами.

Маска битов

Значение

curses.A_ATTRIBUTES

Маска битов для извлечения атрибутов

curses.A_CHARTEXT

Маска битов для извлечения символа

curses.A_COLOR

Маска битов для извлечения информации о паре цветов

Ключи обозначаются целыми константами с именами, начинающимися с KEY_. Точные доступные клавиши зависят от системы.

Ключевая константа

Ключ

curses.KEY_MIN

Минимальное значение ключа

curses.KEY_BREAK

Ключ разрыва (ненадёжный)

curses.KEY_DOWN

Стрелка вниз

curses.KEY_UP

Стрелка вверх

curses.KEY_LEFT

Стрелка влево

curses.KEY_RIGHT

Стрелка вправо

curses.KEY_HOME

Кнопка «Домой» (стрелка вверх + влево)

curses.KEY_BACKSPACE

Backspace (ненадёжный)

curses.KEY_F0

Функциональные клавиши. Поддерживается до 64 функциональных клавиш.

curses.KEY_Fn

Значение функциональной клавиши n

curses.KEY_DL

Удалить строку

curses.KEY_IL

Вставить строку

curses.KEY_DC

Удалить символ

curses.KEY_IC

Вставить символ или включить режим вставки

curses.KEY_EIC

Выход из режима вставки символа

curses.KEY_CLEAR

Очистить экран

curses.KEY_EOS

Очистить до конца экрана

curses.KEY_EOL

Очистить до конца строки

curses.KEY_SF

Прокрутить на 1 строку вперёд

curses.KEY_SR

Прокрутить на 1 строку назад (обратная)

curses.KEY_NPAGE

Следующая страница

curses.KEY_PPAGE

Предыдущая страница

curses.KEY_STAB

Установить табуляцию

curses.KEY_CTAB

Очистить табуляцию

curses.KEY_CATAB

Очистить все табуляции

curses.KEY_ENTER

Ввод или отправка (ненадёжный)

curses.KEY_SRESET

Мягкий (частичный) сброс (ненадёжный)

curses.KEY_RESET

Сброс или жёсткий сброс (ненадёжный)

curses.KEY_PRINT

Печать

curses.KEY_LL

Вниз домой или низ (нижняя левая)

curses.KEY_A1

В верхней левой части цифрового блока

curses.KEY_A3

В верхней правой части цифрового блока

curses.KEY_B2

Центр цифрового блока

curses.KEY_C1

В нижней левой части цифрового блока

curses.KEY_C3

В нижней правой части цифрового блока

curses.KEY_BTAB

Обратная табуляция

curses.KEY_BEG

Начало (beg)

curses.KEY_CANCEL

Отмена

curses.KEY_CLOSE

Закрыть

curses.KEY_COMMAND

Команда (cmd)

curses.KEY_COPY

Копировать

curses.KEY_CREATE

Создать

curses.KEY_END

Конец

curses.KEY_EXIT

Выход

curses.KEY_FIND

Найти

curses.KEY_HELP

Помощь

curses.KEY_MARK

Отметить

curses.KEY_MESSAGE

Сообщение

curses.KEY_MOVE

Переместить

curses.KEY_NEXT

Следующий

curses.KEY_OPEN

Открыть

curses.KEY_OPTIONS

Параметры

curses.KEY_PREVIOUS

Предыдущий

curses.KEY_REDO

Повторить

curses.KEY_REFERENCE

Ссылка (ref)

curses.KEY_REFRESH

Обновить

curses.KEY_REPLACE

Заменить

curses.KEY_RESTART

Перезапустить

curses.KEY_RESUME

Продолжить

curses.KEY_SAVE

Сохранить

curses.KEY_SBEG

Сдвинутое начало (sbeg)

curses.KEY_SCANCEL

Сдвинутая отмена

curses.KEY_SCOMMAND

Сдвинутая команда

curses.KEY_SCOPY

Сдвинутая копия

curses.KEY_SCREATE

Сдвинутое создание

curses.KEY_SDC

Сдвинутое удаление символа

curses.KEY_SDL

Сдвинутое удаление строки

curses.KEY_SELECT

Выбрать

curses.KEY_SEND

Конец со смещением

curses.KEY_SEOL

Очистить строку со смещением

curses.KEY_SEXIT

Выход со смещением

curses.KEY_SFIND

Найти со смещением

curses.KEY_SHELP

Помощь со смещением

curses.KEY_SHOME

Домой со смещением

curses.KEY_SIC

Вход со смещением

curses.KEY_SLEFT

Левая стрелка со смещением

curses.KEY_SMESSAGE

Сообщение со смещением

curses.KEY_SMOVE

Перемещение со смещением

curses.KEY_SNEXT

Следующий со смещением

curses.KEY_SOPTIONS

Параметры со смещением

curses.KEY_SPREVIOUS

Предыдущий со смещением

curses.KEY_SPRINT

Печать со смещением

curses.KEY_SREDO

Повторить со смещением

curses.KEY_SREPLACE

Заменить со смещением

curses.KEY_SRIGHT

Правая стрелка со смещением

curses.KEY_SRSUME

Возобновить со смещением

curses.KEY_SSAVE

Сохранить со смещением

curses.KEY_SSUSPEND

Приостановить со смещением

curses.KEY_SUNDO

Отменить со смещением

curses.KEY_SUSPEND

Приостановить

curses.KEY_UNDO

Отменить

curses.KEY_MOUSE

Произошло событие мыши

curses.KEY_RESIZE

Событие изменения размера терминала

curses.KEY_MAX

Максимальное значение ключа

На VT100 и их программных эмуляциях, таких как эмуляторы терминалов X, обычно доступны как минимум четыре функциональные клавиши (KEY_F1, KEY_F2, KEY_F3, KEY_F4), а клавиши со стрелками сопоставлены с KEY_UP, KEY_DOWN, KEY_LEFT и KEY_RIGHT очевидным образом. Если у вашей машины есть клавиатура PC, можно ожидать клавиши со стрелками и двенадцать функциональных клавиш (у старых клавиатур PC может быть только десять функциональных клавиш); также стандартны следующие сопоставления на клавиатуре:

Ключ

Константа

Вставить

KEY_IC

Удалить

KEY_DC

Домой

KEY_HOME

Конец

KEY_END

Страница вверх

KEY_PPAGE

Страница вниз

KEY_NPAGE

В следующей таблице перечислены символы из альтернавного набора символов. Они унаследованы от терминала VT100 и, как правило, доступны в программных эмуляциях, таких как терминалы X. Если графического изображения нет, curses использует грубую печатную ASCII-аппроксимацию.

Примечание

Они доступны только после вызова initscr().

Код ACS

Значение

curses.ACS_BBSS

запасное имя для правого верхнего угла

curses.ACS_BLOCK

сплошной квадратный блок

curses.ACS_BOARD

доска из квадратов

curses.ACS_BSBS

запасное имя для горизонтальной линии

curses.ACS_BSSB

запасное имя для левого верхнего угла

curses.ACS_BSSS

запасное имя для верхней Т-образной формы

curses.ACS_BTEE

нижняя Т-образная форма

curses.ACS_BULLET

пуля

curses.ACS_CKBOARD

шашечная доска (пунктирная)

curses.ACS_DARROW

стрелка, указывающая вниз

curses.ACS_DEGREE

символ градуса

curses.ACS_DIAMOND

ромб

curses.ACS_GEQUAL

больше или равно

curses.ACS_HLINE

горизонтальная линия

curses.ACS_LANTERN

символ фонаря

curses.ACS_LARROW

стрелка влево

curses.ACS_LEQUAL

меньше или равно

curses.ACS_LLCORNER

нижний левый угол

curses.ACS_LRCORNER

нижний правый угол

curses.ACS_LTEE

левая Т-образная форма

curses.ACS_NEQUAL

не равно

curses.ACS_PI

буква пи

curses.ACS_PLMINUS

плюс-минус

curses.ACS_PLUS

большой знак плюс

curses.ACS_RARROW

стрелка вправо

curses.ACS_RTEE

правая Т-образная форма

curses.ACS_S1

сканирующая строка 1

curses.ACS_S3

сканирующая строка 3

curses.ACS_S7

сканирующая строка 7

curses.ACS_S9

сканирующая строка 9

curses.ACS_SBBS

запасное имя для нижнего правого угла

curses.ACS_SBSB

запасное имя для вертикальной линии

curses.ACS_SBSS

запасное имя для правой Т-образной формы

curses.ACS_SSBB

запасное имя для нижнего левого угла

curses.ACS_SSBS

запасное имя для нижней Т-образной формы

curses.ACS_SSSB

запасное имя для левой Т-образной формы

curses.ACS_SSSS

запасное имя для перекрёстка или большого знака плюс

curses.ACS_STERLING

фунт стерлингов

curses.ACS_TTEE

верхняя Т-образная форма

curses.ACS_UARROW

стрелка вверх

curses.ACS_ULCORNER

верхний левый угол

curses.ACS_URCORNER

верхний правый угол

curses.ACS_VLINE

вертикальная линия

В следующей таблице перечислены константы кнопок мыши, используемые функцией getmouse():

Константа кнопки мыши

Значение

curses.BUTTONn_PRESSED

Нажата кнопка мыши n

curses.BUTTONn_RELEASED

Отпущена кнопка мыши n

curses.BUTTONn_CLICKED

Кнопка мыши n нажата

curses.BUTTONn_DOUBLE_CLICKED

Кнопка мыши n дважды нажата

curses.BUTTONn_TRIPLE_CLICKED

Кнопка мыши n трижды нажата

curses.BUTTON_SHIFT

Клавиша Shift была нажата во время изменения состояния кнопки

curses.BUTTON_CTRL

Клавиша Control была нажата во время изменения состояния кнопки

curses.BUTTON_ALT

Клавиша Control была нажата во время изменения состояния кнопки

Изменено в версии 3.10: Константы BUTTON5_* теперь доступны, если они предоставлены библиотекой curses.

В следующей таблице перечислены предопределённые цвета:

Константа

Цвет

curses.COLOR_BLACK

Чёрный

curses.COLOR_BLUE

Синий

curses.COLOR_CYAN

Сине-зелёный (голубой)

curses.COLOR_GREEN

Зелёный

curses.COLOR_MAGENTA

Пурпурный (пурпурно-красный)

curses.COLOR_RED

Красный

curses.COLOR_WHITE

Белый

curses.COLOR_YELLOW

Жёлтый

© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.11/library/curses.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API