Spec-Zone.ru › Python 3.13

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

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

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

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

Доступность: не Android, не iOS, не WASI.

Этот модуль не поддерживается на мобильных платформах или платформах WebAssembly.

Примечание

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

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

См. также

Module curses.ascii

Утилиты для работы с ASCII-символами, независимо от настроек вашего региональных параметров.

Module curses.panel

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

Module curses.textpad

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

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

Материал учебника по использованию curses с Python, авторы: Andrew Kuchling и Eric Raymond.

Функции

Модуль 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, содержащий поле terminfo long name, описывающее текущий терминал. Максимальная длина подробного описания — 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)

Возвращает объект bytes, представляющий собой удобочитаемое представление символа 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)

Сокращение от «производное окно», 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

Кодировка, используемая для кодирования аргументов метода (строки и символы Unicode). Атрибут кодировки наследуется от родительского окна при создании дочернего окна, например, с помощью 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()

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

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_. Доступные символы клавиатуры зависят от системы.

END_OF_DOCUMENT_MARKER

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

Ключ

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–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/library/curses.html

Spec-Zone.ru

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