Версия 2.1.0

Quick search

Объект конфигурации

Объект Config представляет собой экземпляр измененной версии Python ConfigParser. Дополнительную информацию см. в документации по ConfigParser.

У Kivy есть файл конфигурации, который определяет настройки по умолчанию. Для изменения этих настроек, вы можете вручную изменить этот файл или использовать объект Config. Дополнительную информацию см. в разделе Настройка Kivy.

Применение конфигураций

Настройки конфигурации управляют инициализацией App. Для предотвращения ситуаций, когда настройки конфигурации не работают или не применяются до создания окна (например, установка начального размера окна), следует использовать Config.set до импорта любых других модулей Kivy. В идеале это означает установку их сразу в начале вашего основного сценария main.py.

Кроме того, вы можете сохранить эти настройки постоянно, используя Config.set и затем Config.write. В этом случае вам потребуется перезапустить приложение, чтобы изменения вступили в силу. Обратите внимание, что этот подход будет влиять на все приложения Kivy системы.

Обратите внимание, что в именах секций не допускаются подчеркивания (_).

Использование объекта конфигурации

Чтение токена конфигурации из определенной секции:

>>> from kivy.config import Config
>>> Config.getint('kivy', 'show_fps')
0

Изменение конфигурации и сохранение ее:

>>> Config.set('postproc', 'retain_time', '50')
>>> Config.write()

Для информации о настройке вашего App см. раздел Настройка приложения.

Изменено в версии 1.7.1: ConfigParser должен правильно работать с utf-8 теперь. Значения преобразуются из ascii в unicode только при необходимости. Метод get() возвращает строки utf-8.

Изменение конфигурации с помощью переменных окружения

Начиная с версии 1.11.0, теперь можно изменять конфигурацию с использованием переменных окружения. Они имеют приоритет над загруженным config.ini. Формат такой:

KCFG_<section>_<key> = <value>

Например:

KCFG_GRAPHICS_FULLSCREEN=auto … KCFG_KIVY_LOG_LEVEL=warning …

Или в вашем файле перед импортом kivy:

import os os.environ[“KCFG_KIVY_LOG_LEVEL”] = “warning”

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

os.environ["KIVY_NO_ENV_CONFIG"] = "1"

Доступные токены конфигурации

kivy
default_font: list

Шрифты по умолчанию, используемые для виджетов, отображающих текст. По умолчанию: [‘Roboto’, ‘data/fonts/Roboto-Regular.ttf’, ‘data/fonts/Roboto-Italic.ttf’, ‘data/fonts/Roboto-Bold.ttf’, ‘data/fonts/Roboto-BoldItalic.ttf’].

desktop: int, 0 или 1

Этот параметр управляет функциями, специфичными для рабочего стола, такими как включение перетаскиваемой полосы прокрутки в прокручиваемых представлениях, отключение всплывающих подсказок в TextInput и т. д. 0 - отключено, 1 - включено.

exit_on_escape: int, 0 или 1

Включает выход из Kivy при нажатии клавиши Escape. 0 - отключено, 1 - включено.

pause_on_minimize: int, 0 или 1

Если установлено значение 1, главный цикл приостанавливается и событие on_pause отправляется, когда окно сворачивается. Этот параметр предназначен только для использования на рабочем столе. По умолчанию 0.

keyboard_layout: string

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

keyboard_mode: string

Задает режим клавиатуры для использования. Может быть одним из следующих:

  • ‘’ - Позволяет Kivy выбрать лучший вариант для вашей текущей платформы.

  • ‘system’ - реальная клавиатура.

  • ‘dock’ - одна виртуальная клавиатура, прикрепленная к одной стороне экрана.

  • ‘multi’ - одна виртуальная клавиатура для каждого запроса виджета.

  • ‘systemanddock’ - виртуальная прикрепленная клавиатура плюс ввод с реальной клавиатуры.

  • ‘systemandmulti’ - аналогично.

kivy_clock: одно из значений default, interrupt, free_all, free_only

Тип часов для использования в Kivy. См. kivy.clock.

log_dir: string

Путь к директории журнала.

log_enable: int, 0 или 1

Активировать ведение журнала в файле. 0 - отключено, 1 - включено.

log_level: string, одно из ‘trace’, ‘debug’, ‘info’, ‘warning’, ‘error’ или ‘critical’

Установите минимальный уровень журнала для использования.

log_name: string

Строка формата для имени файла журнала.

log_maxfiles: int

Сохраняйте последние log_maxfiles журналов при очистке директории журнала. Установите ‘log_maxfiles’ в -1, чтобы отключить очистку журнала (например, сохранять все журналы).

Примечание

Вы получите ‘log_maxfiles + 1’ журналов, потому что логгер добавляет новый после очистки.

window_icon: string

Путь к значку окна. Используйте его, если хотите заменить значок Pygame по умолчанию.

postproc
double_tap_distance: float

Максимальное допустимое расстояние для двойного касания, нормализованное в пределах диапазона 0 - 1000.

double_tap_time: int

Время, разрешенное для обнаружения двойного касания, в миллисекундах.

ignore: list of tuples

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

ignore = [(xmin, ymin, xmax, ymax), ...]

Все значения должны находиться в диапазоне от 0 до 1.

jitter_distance: int

Максимальное расстояние для обнаружения дрожания, нормализованное в пределах диапазона 0 - 1000.

jitter_ignore_devices: string, separated with commas

Список устройств, которые игнорируются при обнаружении дрожания.

retain_distance: int

Если касание перемещается на более чем указанное значение retain_distance, оно не будет сохранено. Аргумент должен быть целым числом от 0 до 1000.

retain_time: int

Время, разрешенное для удержания касания, в миллисекундах.

triple_tap_distance: float

Максимальное допустимое расстояние для тройного касания, нормализованное в пределах диапазона 0 - 1000.

triple_tap_time: int

Время, разрешенное для обнаружения тройного касания, в миллисекундах.

graphics
borderless: int, одно из 0 или 1

Если установлено в 1, убирает границу/оформление окна. Изменение размеров окна также должно быть отключено, чтобы скрыть границу изменения размера.

custom_titlebar: int, одно из 0 или 1

Если установлено в 1, убирает границу окна и позволяет пользователю установить виджет как панель заголовка. см. set_custom_titlebar() для подробного использования

custom_titlebar_border: int, по умолчанию 5

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

window_state: string , одно из ‘visible’, ‘hidden’, ‘maximized’

или ‘minimized’

Устанавливает состояние окна, по умолчанию - ‘visible’. Этот параметр доступен только для поставщика окон SDL2 и должен использоваться на рабочем операционной системе.

fbo: string, одно из ‘hardware’, ‘software’ или ‘force-hardware’

Выбирает бэкенд FBO для использования.

fullscreen: int или строка, одно из 0, 1, ‘fake’ или ‘auto’

Активирует полноэкранный режим. Если установлено в 1, будет использоваться разрешение ширина по высота пикселей. Если установлено в auto, будет использовано текущее разрешение вашего экрана. Скорее всего, это то, что вам нужно. Если вы хотите разместить окно на другом экране, используйте fake или установите параметр borderless из раздела graphics, затем настройте ширина, высота, верх и лево.

height: int

Высота окнаWindow, не используется, если fullscreen установлен в auto.

left: int

Положение окнаWindow слева.

maxfps: int, по умолчанию 60

Максимальное разрешенное количество кадров в секунду.

Предупреждение

Установка maxfps в 0 приведет к максимальной загрузке ЦП.

‘multisamples’: int, по умолчанию 2

Устанавливает уровень мультисемплирования антиалиасинга (MSAA). Увеличение этого значения приводит к более плавной графике, но за счет времени обработки.

Примечание

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

position: string, одно из ‘auto’ или ‘custom’

Положение окна на вашем экране. Если используется auto, у вас нет контроля над начальным положением: верх и лево игнорируются.

show_cursor: int, одно из 0 или 1

Устанавливает, отображается ли курсор на окне.

top: int

Верхнее положение окнаWindow.

resizable: int, одно из 0 или 1

Если 0, окно будет иметь фиксированный размер. Если 1, окно будет разрешено изменять размер.

rotation: int, одно из 0, 90, 180 или 270

Поворот окнаWindow.

width: int

Ширина окнаWindow, не используется, если fullscreen установлен в auto.

minimum_width: int

Минимальная ширина для ограничения окна. (только для sdl2)

minimum_height: int

Минимальная высота для ограничения окна. (только для sdl2)

min_state_time: float, по умолчанию 0.035

Минимальное время, в течение которого виджеты отображают заданное визуальное состояние. Этот атрибут в настоящее время используется виджетами, такими как DropDown и ButtonBehavior, чтобы убедиться, что они отображают свое текущее визуальное состояние в течение заданного времени.

allow_screensaver: int, одно из 0 или 1, по умолчанию 1

Разрешить устройству показывать заставку или переходить в режим сна на мобильных устройствах. Работает только для поставщика окон sdl2.

vsync: none, пустое значение или целые числа

Включена ли вертикальная синхронизация, в настоящее время используется только с окном sdl2. Возможные значения: none или пустое значение - оставляют его без изменений, 0 - отключает вертикальную синхронизацию, 1 или больше - устанавливают интервал вертикальной синхронизации, -1 устанавливает адаптивную вертикальную синхронизацию. Она возвращается на 1, если установка на 2+ или -1 не удалась. См. SDL_GL_SetSwapInterval.

verify_gl_main_thread: int, 1 или 0, по умолчанию 1

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

input

Вы можете создать новые устройства ввода, используя следующий синтаксис:

# пример экземпляра поставщика ввода
yourid = providerid,parameters

# пример для поставщика tuio
default = tuio,127.0.0.1:3333
mytable = tuio,192.168.0.1:3334

См. также

Проверьте поставщиков в kivy.input.providers для синтаксиса, используемого в файле конфигурации.

widgets
scroll_distance: int

Значение по умолчанию свойства scroll_distance используется виджетом ScrollView. Для получения дополнительной информации смотрите документацию виджета.

scroll_friction: float

Значение по умолчанию свойства scroll_friction используется виджетом ScrollView. Для получения дополнительной информации смотрите документацию виджета.

Устарело начиная с версии 1.7.0: Пожалуйста, используйте effect_cls вместо этого.

scroll_timeout: int

Значение по умолчанию свойства scroll_timeout используется виджетом ScrollView. Для получения дополнительной информации смотрите документацию виджета.

scroll_stoptime: int

Значение по умолчанию свойства scroll_stoptime используется виджетом ScrollView. Для получения дополнительной информации смотрите документацию виджета.

Устарело начиная с версии 1.7.0: Пожалуйста, используйте effect_cls вместо этого.

scroll_moves: int

Значение по умолчанию свойства scroll_moves используется виджетом ScrollView. Для получения дополнительной информации смотрите документацию виджета.

Устарело начиная с версии 1.7.0: Пожалуйста, используйте effect_cls вместо этого.

modules

Вы можете активировать модули с помощью следующего синтаксиса:

modulename =

Все, что находится после =, будет передано модулю в качестве аргументов. Для получения списка принимаемых аргументов смотрите документацию конкретного модуля.

Изменено в версии 2.1.0: Добавлено vsync в разделе graphics. Добавлено verify_gl_main_thread в разделе graphics.

Изменено в версии 1.10.0: Добавлены min_state_time и allow_screensaver в раздел graphics. Добавлено kivy_clock в раздел kivy. Добавлено default_font в раздел kivy.

Изменено в версии 1.9.0: Добавлены borderless и window_state в раздел graphics. Опция fake для fullscreen устарела, используйте опцию borderless вместо нее. Добавлено pause_on_minimize в раздел kivy.

Изменено в версии 1.8.0: Добавлены systemanddock и systemandmulti как возможные значения для keyboard_mode в разделе kivy. Добавлено exit_on_escape в раздел kivy.

Изменено в версии 1.2.0: Добавлено resizable в раздел graphics.

Изменено в версии 1.1.0: tuio больше не слушает по умолчанию. Значки окна больше не копируются в каталог пользователя. Вы всё равно можете установить новый значок окна, используя настройку конфигурации window_icon.

Изменено в версии 1.0.8: Добавлены scroll_timeout, scroll_distance и scroll_friction. Удалены list_friction, list_trigger_distance и list_friction_bound. Удалены keyboard_type и keyboard_layout из виджета. Добавлены keyboard_mode и keyboard_layout в раздел kivy.

kivy.config.Config = None

Объект конфигурации Kivy по умолчанию. Это экземпляр ConfigParser с атрибутом name, установленным в «kivy».

Config = ConfigParser(name='kivy')
class kivy.config.ConfigParser(name='', **kwargs)[источник]

Базовый класс ConfigParser с поддержкой добавления секций и значений по умолчанию.

По умолчанию экземпляр ConfigParser Kivy, Config, имеет имя «kivy», а экземпляр ConfigParser, используемый методом App.build_settings, имеет имя «app».

Parameters
name: string

Имя экземпляра. См. name. По умолчанию «».

Изменено в версии 1.9.0: Теперь каждый ConfigParser может иметь name. Вы можете получить ConfigParser, связанный с именем, с помощью get_configparser(). Кроме того, теперь вы можете управлять значениями конфигурации с помощью ConfigParserProperty.

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

add_callback(callback, section=None, key=None)[источник]

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

Обратные вызовы будут получать 3 аргумента: секцию, ключ и значение.

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

Вот переведенный на русский текст с сохранением тегов:
adddefaultsection(section)[исходный код]

Добавить секцию, если она отсутствует.

get(section, option, **kwargs)[исходный код]

Получить значение опции для указанной секции.

Если `vars’ предоставляется, он должен быть словарем. Опция ищется в `vars’ (если предоставлен), `section’ и в `DEFAULTSECT’ в указанном порядке. Если ключ не найден, и `fallback’ предоставляется, он используется как значение по умолчанию. `None’ может быть предоставлено как значение `fallback’.

Если включена интерполяция и опциональный аргумент `raw’ равен False, все интерполяции раскрываются в возвращаемых значениях.

Аргументы `raw’, `vars’ и `fallback’ доступны только по ключевым словам.

Секция DEFAULT является особенной.

static get_configparser(name)[исходный код]

Возвращает экземпляр ConfigParser с именем name или None, если не найден.

Parameters
name: string

Имя экземпляра ConfigParser для возврата.

getdefault(section, option, defaultvalue)[исходный код]

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

getdefaultint(section, option, defaultvalue)[исходный код]

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

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

property name

Имя, связанное с этим экземпляром ConfigParser, если не ‘’. По умолчанию ‘’. Его можно безопасно изменять динамически или установить в ‘’.

Когда ConfigParser получает имя, этот объект конфигурации можно получить с помощью get_configparser(). Кроме того, этот объект конфигурации также может использоваться с ConfigParserProperty, устанавливающим свое значение config в это имя.

Установка более одного ConfigParser с одним и тем же именем вызовет исключение ValueError.

read(filename)[исходный код]

Читает только один файл. В отличие от оригинального ConfigParser в Python, этот способен читать только один файл за раз. Последний прочитанный файл будет использоваться для метода write().

Изменено в версии 1.9.0: read() теперь вызывает обратные вызовы, если чтение изменило какие-либо значения.

remove_callback(callback, section=None, key=None)[исходный код]

Удаляет обратный вызов, добавленный с помощью add_callback(). remove_callback() должен быть вызван с теми же параметрами, что и add_callback().

Вызывает исключение ValueError, если не найден.

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

set(section, option, value)[исходный код]

Работает аналогично методу set PythonConfigParser, за исключением того, что значение неявно преобразуется в строку.

setall(section, keyvalues)[исходный код]

Устанавливает несколько пар ключ-значение в секции. keyvalues должен быть словарем, содержащим ключевые пары для установки.

setdefault(section, option, value)[исходный код]

Установить значение по умолчанию для опции в указанной секции.

setdefaults(section, keyvalues)[source]

Установить несколько пар ключ-значение по умолчанию в секции. keyvalues должен быть словарем, содержащим новые ключи и значения по умолчанию.

update_config(filename, overwrite=False)[source]

Обновить конфигурацию на основе нового файла конфигурации по умолчанию. Перезаписать существующие значения, если overwrite равно True.

write()[source]

Записать конфигурацию в последний открытый файл с использованием метода read().

Вернуть True, если запись завершилась успешно, иначе False.