Spec-Zone.ru › Pygame
pygame.scrap
Модуль pygame для поддержки буфера обмена.

ЭКСПЕРИМЕНТАЛЬНО!: Этот API может измениться или исчезнуть в будущих релизах pygame. Если вы его используете, ваш код может сломаться с следующим релизом pygame.

Модуль scrap предназначен для передачи данных в/из буфера обмена. Это позволяет вырезать и вставлять данные между pygame и другими приложениями. Определены и зарегистрированы некоторые основные типы данных (MIME):

pygame         string
constant        value        description
--------------------------------------------------
SCRAP_TEXT   "text/plain"    plain text
SCRAP_BMP    "image/bmp"     BMP encoded image data
SCRAP_PBM    "image/pbm"     PBM encoded image data
SCRAP_PPM    "image/ppm"     PPM encoded image data

pygame.SCRAP_PPM, pygame.SCRAP_PBM и pygame.SCRAP_BMP подходят для буферов поверхностей, которые нужно будет совместно использовать с другими приложениями. pygame.SCRAP_TEXT — псевдоним для типа буфера обмена с обычным текстом.

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

Для платформ Windows эти дополнительные типы поддерживаются автоматически и разрешаются в их внутренних определениях:

"text/plain;charset=utf-8"   UTF-8 encoded text
"audio/wav"                  WAV encoded audio
"image/tiff"                 TIFF encoded image data

Для платформ X11 эти дополнительные типы поддерживаются автоматически и разрешаются в их внутренних определениях:

"text/plain;charset=utf-8"   UTF-8 encoded text
"UTF8_STRING"                UTF-8 encoded text
"COMPOUND_TEXT"              COMPOUND text

Можно использовать пользовательские типы, но данные могут быть недоступны для других приложений, если они не знают, какой тип данных искать. Например, данные, помещенные в буфер обмена приложением pygame.scrap.put("my_data_type", byte_data), могут быть доступны только для приложений, которые запрашивают буфер обмена для типа данных "my_data_type".

Пример работы модуля scrap можно найти на странице примеров (pygame.examples.scrap_clipboard.main()) или непосредственно в коде на GitHub (pygame/examples/scrap_clipboard.py).

Новая функция в pygame 1.8.

Примечание

Модуль scrap в настоящее время поддерживается только для Windows, X11 и Mac OS X. На Mac OS X в настоящее время работает только текст — другие типы могут быть добавлены в будущие версии.

pygame.scrap.init()
Инициализирует модуль scrap.
init() -> None

Инициализирует модуль scrap.

Возбуждает

pygame.error — если невозможно инициализировать модуль scrap

Примечание

Модуль scrap требует, чтобы функция pygame.display.set_mode() была вызвана перед его инициализацией.

pygame.scrap.get_init()
Возвращает True, если модуль scrap в настоящее время инициализирован.
get_init() -> bool

Получает состояние инициализации модуля scrap.

Возвращает

True если модуль pygame.scrap в настоящее время инициализирован, False в противном случае

Тип возвращаемого значения

bool

Новая функция в pygame 1.9.5.

pygame.scrap.get()
Получает данные для указанного типа из буфера обмена.
get(type) -> bytes | None

Извлекает данные для указанного типа из буфера обмена. Данные возвращаются как строка байтов и могут потребовать дополнительной обработки (например, декодирования в Unicode).

Параметры

type (строка) — тип данных для извлечения из буфера обмена

Возвращает

данные (объект типа bytes) для данного идентификатора типа или None, если данные для данного типа недоступны

Тип возвращаемого значения

bytes | None

text = pygame.scrap.get(pygame.SCRAP_TEXT)
if text:
    print("There is text in the clipboard.")
else:
    print("There does not seem to be text in the clipboard.")
pygame.scrap.get_types()
Получает список доступных типов буфера обмена.
get_types() -> list

Получает список идентификаторов типов данных для данных, которые в настоящее время доступны в буфере обмена. Каждый идентификатор может быть использован в методе pygame.scrap.get() для получения содержимого буфера обмена для конкретного типа.

Возвращает

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

Тип возвращаемого значения

list

for t in pygame.scrap.get_types():
    if "text" in t:
        # There is some content with the word "text" in its type string.
        print(pygame.scrap.get(t))
pygame.scrap.put()
Размещает данные в буфер обмена.
put(type, data) -> None

Размещает данные для заданного типа буфера обмена в буфер обмена. Данные должны быть буфером строк. Тип — это строка, идентифицирующая тип данных, помещаемых в буфер обмена. Это может быть одно из предопределенных значений pygame.SCRAP_PBM, pygame.SCRAP_PPM, pygame.SCRAP_BMP или pygame.SCRAP_TEXT, или пользовательский идентификатор строки.

Параметры
  • type (строка) — идентификатор типа данных, который необходимо поместить в буфер обмена

  • data (bytes) — данные, которые нужно поместить в буфер обмена, объект типа bytes

Возбуждает

pygame.error — если невозможно поместить данные в буфер обмена

with open("example.bmp", "rb") as fp:
    pygame.scrap.put(pygame.SCRAP_BMP, fp.read())
# The image data is now on the clipboard for other applications to access
# it.
pygame.scrap.put(pygame.SCRAP_TEXT, b"A text to copy")
pygame.scrap.put("Plain text", b"Data for user defined type 'Plain text'")
pygame.scrap.contains()
Проверяет, доступны ли данные для данного типа в буфере обмена.
contains(type) -> bool

Проверяет, доступны ли данные для указанного типа в буфере обмена.

Параметры

type (строка) — тип данных, доступность которого нужно проверить

Возвращает

True если данные для указанного типа доступны в буфере обмена, False в противном случае

Тип возвращаемого значения

bool

if pygame.scrap.contains(pygame.SCRAP_TEXT):
    print("There is text in the clipboard.")
if pygame.scrap.contains("own_data_type"):
    print("There is stuff in the clipboard.")
pygame.scrap.lost()
Указывает, потеряно ли приложением pygame владение буфером обмена.
lost() -> bool

Указывает, потеряно ли приложением pygame владение буфером обмена.

Возвращает

True, если приложение pygame потеряло владение буфером обмена, False если приложение pygame все еще владеет буфером обмена

Тип возвращаемого значения

bool

if pygame.scrap.lost():
    print("The clipboard is in use by another application.")
pygame.scrap.set_mode()
Устанавливает режим доступа к буферу обмена.
set_mode(mode) -> None

Устанавливает режим доступа к буферу обмена. Это актуально только для сред X11, где доступны режимы буфера обмена pygame.SCRAP_SELECTION (для выделений мышкой) и pygame.SCRAP_CLIPBOARD (для буфера обмена). Установка режима в pygame.SCRAP_SELECTION в других средах не изменит режим с pygame.SCRAP_CLIPBOARD.

Параметры

mode — режим доступа, поддерживаемые значения — pygame.SCRAP_CLIPBOARD и pygame.SCRAP_SELECTION (pygame.SCRAP_SELECTION имеет эффект только на платформах X11)

Возбуждает

ValueError — если параметр mode не pygame.SCRAP_CLIPBOARD или pygame.SCRAP_SELECTION




Изменить на GitHub

© Pygame Developers.
Licensed under the GNU LGPL License version 2.1.
https://www.pygame.org/docs/ref/scrap.html

Spec-Zone.ru

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