- 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