Spec-Zone.ru › Python 3.12

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

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

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

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

Примечание

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

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

См. также

Module curses.ascii

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

Module curses.panel

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

Module curses.textpad

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

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

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

Функции

Модуль 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).

END_OF_DOCUMENT_MARKER
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)

Используется для режима half-delay, который похож на режим cbreak тем, что введённые пользователем символы немедленно доступны программе. Однако после ожидания в течение tenths десятых долей секунды, возникает исключение, если ничего не было введено. Значение tenths должно быть числом от 1 до 255. Для выхода из режима half-delay используйте 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 с клавиатуры от последовательностей 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, как объект bytes, усечённый до 14 символов.

curses.tigetflag(capname)

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

curses.tigetnum(capname)

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

curses.tigetstr(capname)

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

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

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

END_OF_DOCUMENT_MARKER
curses.typeahead(fd)

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

Библиотека curses выполняет «оптимизацию разбиения строк», периодически проверяя наличие ввода в очереди ввода, в то время как обновляется экран. Если входной ввод найден и он поступает с терминала, текущее обновление откладывается до тех пор, пока не будет вызван 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. Если приложение генерирует исключение, эта функция восстановит терминал в нормальное состояние, прежде чем повторно поднять исключение и сгенерировать traceback. Вызываемый объект 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

Кодировка, используемая для кодирования аргументов метода (строки 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)

Управляет тем, что происходит, когда курсор окна перемещается за край окна или области прокрутки, в результате действия новой строки в нижней строке или ввода последнего символа последней строки. Если флаг равен False, курсор остается в нижней строке. Если флаг равен 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)

Если флаг равен 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.

END_OF_DOCUMENT_MARKER

Константы

Модуль 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

Ключ 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

Нач (начало)

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

Ссылка

curses.KEY_REFRESH

Обновить

curses.KEY_REPLACE

Заменить

curses.KEY_RESTART

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

curses.KEY_RESUME

Возобновить

curses.KEY_SAVE

Сохранить

curses.KEY_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.12/library/curses.html

Spec-Zone.ru

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