配置对象

Config 对象是修改后的 Python ConfigParser 的一个实例。更多信息请参阅 ConfigParser 文档

Kivy 有一个配置文件,用于确定默认设置。要更改这些设置,您可以手动修改此文件或使用 Config 对象。更多信息请参阅 配置 Kivy 部分。

应用配置

配置选项控制着 App 的初始化。为了避免配置设置在窗口创建之前无法生效或未被应用的情况(例如设置初始窗口大小),应在导入任何其他 Kivy 模块之前使用 Config.set。理想情况下,这意味着在 main.py 脚本的最开始处设置它们。

或者,您可以使用 Config.set 然后 Config.write 永久保存这些设置。在这种情况下,您需要重启应用才能使更改生效。请注意,这种方法会影响系统中所有 Kivy 应用。

请注意,章节名称中不允许使用下划线(_)。

Config 对象的使用

要从特定部分读取配置令牌,请使用以下方式:

>>> 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:列表

用于显示任何文本的控件默认字体。默认值为['Roboto', 'data/fonts/Roboto-Regular.ttf', 'data/fonts/Roboto-Italic.ttf', 'data/fonts/Roboto-Bold.ttf', 'data/fonts/Roboto-BoldItalic.ttf']。

desktop:整数,0 或 1

该选项控制桌面操作系统特有的功能,例如在滚动视图中启用可拖动的滚动条、禁用TextInput中的气泡等。0表示禁用,1表示启用。

exit_on_escape:整数,0 或 1

启用按 Esc 键退出 Kivy。0 为禁用,1 为启用。

pause_on_minimize:整数,0 或 1

如果设置为 1,当窗口最小化时,主循环将暂停,并触发 on_pause 事件。此选项仅适用于桌面环境。默认值为 0

keyboard_layout:字符串

要使用的布局标识符。

keyboard_mode:字符串

指定要使用的键盘模式。可以是以下之一:

  • '' - 让 Kivy 为您的当前平台选择最佳选项。

  • “system”——实体键盘。

  • 'dock' - 虚拟键盘停靠在屏幕一侧。

  • 'multi' - 每个控件请求对应一个虚拟键盘。

  • 'systemanddock' - 虚拟停靠键盘加上真实键盘输入。

  • “systemandmulti”——类似地。

kivy_clock:可选值为 defaultinterruptfree_allfree_only

用于kivy的时钟类型。参见:mod:kivy.clock

log_dir:字符串

日志目录的路径。

log_enable:整数,0 或 1

启用文件日志记录。0 表示禁用,1 表示启用。

备注

日志输出也可以通过环境变量 KIVY_LOG_MODEKIVY_NO_FILELOGKIVY_NO_CONSOLELOG 来控制。更多信息请参阅 kivy.logger 模块。

log_level:字符串,取值为 'trace', 'debug', 'info', 'warning', 'error' or 'critical' 之一

将最低日志级别设置为使用。

log_name:字符串

用于日志文件名的格式字符串。

log_maxfiles:整数

在清理日志目录时,保留最近的 log_maxfiles 个日志文件。将 log_maxfiles 设置为 -1 可禁用日志文件清理(例如,保留所有日志文件)。

备注

最终你会得到 log_maxfiles + 1 个日志文件,因为日志记录器在清理后会添加一个新的日志文件。

window_icon:字符串

窗口图标的路径。如果你想替换默认的pygame图标,请使用此属性。

后处理:
double_tap_distance:浮点数

双击允许的最大距离,归一化在0-1000范围内。

double_tap_time:整数

双击检测允许的时间,单位为毫秒。

ignore:元组列表

新触摸被忽略的区域列表。此配置令牌可用于解决DIY硬件中的热点问题。列表格式必须为:

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

所有值必须在0到1的范围内。

jitter_distance:整数

抖动检测的最大距离,归一化在0-1000范围内。

jitter_ignore_devices:字符串,以逗号分隔

用于抖动检测时忽略的设备列表。

retain_distance:整数

如果触摸移动的距离超过retain_distance所指示的范围,则不会被保留。参数应为0到1000之间的整数。

retain_time:整数

保留触摸允许的时间,单位为毫秒。

triple_tap_distance:浮点数

三次点击允许的最大距离,归一化在0-1000范围内。

triple_tap_time:整数

检测三次点击所允许的时间,单位为毫秒。

图形:
borderless:整数,取值为0或1

如果设置为`1`,则移除窗口边框/装饰。同时必须禁用窗口调整大小功能,以隐藏调整大小的边框。

custom_titlebar:整数,取值为0或1

如果设置为 1,则移除窗口边框,并允许用户将某个 Widget 设置为标题栏,详细用法请参阅 set_custom_titlebar()

custom_titlebar_border:整数,默认值为5

设置边框外多少像素作为调整大小框架。

window_state:字符串,取值为 'visible'、'hidden'、'maximized' 之一。

或“最小化”

设置窗口状态,默认为“可见”。此选项仅适用于SDL2窗口提供程序,并应在桌面操作系统上使用。

fbo:字符串,可选值为 'hardware'、'software' 或 'force-hardware'

选择要使用的FBO后端。

fullscreen:整数或字符串,取值为 0、1、'fake' 或 'auto' 之一。

激活全屏模式。若设置为`1`,将使用`width`乘以`height`像素的分辨率。若设置为`auto`,则会改用当前显示器的分辨率,这通常是你所期望的效果。若希望将窗口置于另一显示器上,可使用`fake`,或从图形部分设置`borderless`选项,然后调整`width`、heighttop`和`left

height:整数

: Window 的高度,若 fullscreen 设置为 auto,则不使用。

left:整数

Window 的左侧位置。

maxfps:整数,默认值为60

允许的最大FPS。

警告

将 maxfps 设置为 0 将导致 CPU 使用率达到最高。

'multisamples':整数,默认值为2

设置`多重采样抗锯齿(MSAA)<http://en.wikipedia.org/wiki/Multisample_anti-aliasing>`_级别。提高此值可获得更平滑的图形,但会以处理时间为代价。

备注

此功能受设备硬件支持限制,在不支持所请求的MSAA级别的设备上将不会产生任何效果。

position:字符串,可选值为 'auto' 或 'custom'

窗口在显示器上的位置。若使用 auto,则无法控制初始位置:topleft 将被忽略。

show_cursor:整数,取值为0或1

设置窗口上是否显示光标。

top:整数

Window 的顶部位置。

resizable:整数,取值为0或1

如果为0,窗口将具有固定大小。如果为1,窗口将可调整大小。

rotation:整数,取值为0、90、180或270之一

: Window 的旋转。

width:整数

: Window 的宽度,若 fullscreen 设置为 auto,则不使用。

minimum_width:整数

限制窗口的最小宽度。(仅限sdl2)

minimum_height:整数

限制窗口的最小高度。(仅限sdl2)

min_state_time:浮点数,默认值为 .035

控件显示给定视觉状态的最短时间。此属性目前被诸如 DropDownButtonBehavior 之类的控件使用,以确保它们在指定时间内显示当前的视觉状态。

always_on_top:整数,取值为 01,默认为 0

启用后,窗口将置于最前并保持在其他窗口之上。此功能仅适用于sdl2窗口提供程序。``0``表示禁用,``1``表示启用。

show_taskbar_icon:整数,取值为 01,默认为 1

决定应用的图标是否会添加到任务栏。仅适用于SDL2窗口提供程序。``0``表示图标不会显示在任务栏中,``1``表示会显示。

allow_screensaver:整数,取值为0或1,默认为1

允许设备显示屏幕保护程序,或在移动设备上进入休眠状态。此功能仅适用于sdl2窗口提供程序。

vsyncnone、空值或整数

是否启用垂直同步,目前仅适用于sdl2窗口。可选值为`none`或空值——保持不变,0——禁用垂直同步,1``或更大值——设置垂直同步间隔,-1``设置自适应垂直同步。若设置为``2+``或``-1``失败,则回退到1。参见``SDL_GL_SetSwapInterval``。

verify_gl_main_thread:整数,1或0,默认为1。

是否检查修改任何GL指令的代码是否在主线程之外运行,并在检测到时引发错误。

我准备好了,请发送需要翻译的英文内容。:

您可以使用以下语法创建新的输入设备:

# example of input provider instance
yourid = providerid,parameters

# example for tuio provider
default = tuio,127.0.0.1:3333
mytable = tuio,192.168.0.1:3334

参见

请查看 kivy.input.providers 中的提供者,了解配置文件中使用的语法。

控件:
scroll_distance:整数

scroll_distance 属性的默认值,该属性由 ScrollView 控件使用。更多信息请参阅该控件的文档。

scroll_friction:浮点数

scroll_friction 属性的默认值,由 ScrollView 组件使用。更多信息请参阅组件文档。

自 1.7.0 版本弃用: 请改用 effect_cls

scroll_timeout:整数

scroll_timeout 属性的默认值,由 ScrollView 控件使用。更多信息请参阅控件文档。

scroll_stoptime:整数

scroll_stoptime 属性的默认值,由 ScrollView 控件使用。更多信息请参阅控件文档。

自 1.7.0 版本弃用: 请改用 effect_cls

scroll_moves:整数

scroll_moves 属性的默认值,由 ScrollView 控件使用。更多信息请参阅该控件的文档。

自 1.7.0 版本弃用: 请改用 effect_cls

模块:

您可以使用以下语法激活模块:

modulename =

= 之后的内容将作为参数传递给模块。有关可接受的参数列表,请查阅具体模块的文档。

在 2.2.0 版本加入: always_on_top 已添加到 graphics 部分。show_taskbar_icon 已添加到 graphics 部分。

在 2.2.0 版本发生变更: implementation 已添加到网络部分。

在 2.1.0 版本发生变更: vsync 已添加到图形部分。verify_gl_main_thread 已添加到图形部分。

在 1.10.0 版本发生变更: min_state_timeallow_screensaver 已添加到 graphics 部分。kivy_clock 已添加到 kivy 部分。default_font 已添加到 kivy 部分。useragent 已添加到 network 部分。

在 1.9.0 版本发生变更: 在图形部分新增了 borderlesswindow_state 选项。fullscreen 选项中的 fake 设置已被弃用,请改用 borderless 选项。在 Kivy 部分新增了 pause_on_minimize 选项。

在 1.8.0 版本发生变更: 在kivy部分中,`keyboard_mode`新增了`systemanddock`和`systemandmulti`作为可能的值。`exit_on_escape`也已添加到kivy部分。

在 1.2.0 版本发生变更: resizable 已添加到图形部分。

在 1.1.0 版本发生变更: tuio 默认不再监听。窗口图标不再复制到用户目录。你仍然可以通过使用 window_icon 配置设置来设置新的窗口图标。

在 1.0.8 版本发生变更: 已添加 scroll_timeoutscroll_distancescroll_friction。已移除 list_frictionlist_trigger_distancelist_friction_bound。已从控件中移除 keyboard_typekeyboard_layout。已在 kivy 部分添加 keyboard_modekeyboard_layout

kivy.config.Config = None

默认的Kivy配置对象。这是一个:class:`ConfigParser`实例,其:attr:`~kivy.config.ConfigParser.name`设置为'kivy'。

Config = ConfigParser(name='kivy')
class kivy.config.ConfigParser(name='', **kwargs)[源代码]

基类:RawConfigParser, object

增强版ConfigParser类,支持添加默认节和默认值。

默认情况下,kivy ConfigParser实例,Config,命名为`'kivy',而由:meth:`App.build_settings <~kivy.app.App.build_settings>`方法使用的ConfigParser实例命名为'app'`

参数:
name:字符串

实例的名称。参见 name。默认值为 ''

在 1.9.0 版本发生变更: 每个ConfigParser现在都可以通过:attr:`named <name>`进行命名。您可以使用:meth:`get_configparser`获取与名称关联的ConfigParser。此外,您现在可以通过:class:`~kivy.properties.ConfigParserProperty`来控制配置值。

在 1.0.7 版本加入.

add_callback(callback, section=None, key=None)[源代码]

添加一个回调函数,当特定部分或键发生变化时调用。如果未指定部分或键,则对所有部分/键的变化调用该回调。

回调函数将接收3个参数:section、key和value。

在 1.4.1 版本加入.

adddefaultsection(section)[源代码]

如果该部分缺失,请添加该部分。

get(section, option, **kwargs)[源代码]

获取指定部分的选项值。

如果提供了 vars,它必须是一个字典。选项会依次在 vars`(如果提供)、`sectionDEFAULTSECT 中查找。如果未找到键且提供了 fallback,则将其用作回退值。None 可以作为 fallback 值提供。

如果启用了插值,并且可选参数 rawFalse,则所有插值都会在返回值中展开。

参数 rawvarsfallback 仅限关键字参数。

DEFAULT 部分比较特殊。

static get_configparser(name)[源代码]

返回名为 nameConfigParser 实例,若未找到则返回 None。

参数:
name:字符串

要返回的 ConfigParser 实例的名称。

getdefault(section, option, defaultvalue)[源代码]

获取指定部分中选项的值。如果未找到,将返回默认值。

getdefaultint(section, option, defaultvalue)[源代码]

获取指定部分中选项的值。如果未找到,将返回默认值。该值始终以整数形式返回。

在 1.6.0 版本加入.

property name

与此ConfigParser实例关联的名称,若不为`''。默认为''。可以安全地动态更改或设置为''`

当ConfigParser被赋予一个名称后,可以通过:meth:`get_configparser`方法检索该配置对象。此外,该配置实例还可以与一个:class:`~kivy.properties.ConfigParserProperty`实例配合使用,只需将该实例的`config`值设置为这个名称即可。

设置多个同名ConfigParser会引发`ValueError`。

read(filename)[源代码]

只读取一个文件名。与Python原始的ConfigParser不同,这个版本一次只能读取一个文件。最后读取的文件将用于:meth:`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)[源代码]

功能与Python ConfigParser的set方法类似,不同之处在于该值会被隐式转换为字符串。

setall(section, keyvalues)[源代码]

在某个部分中设置多个键值对。keyvalues 应为一个包含待设置键值对的字典。

setdefault(section, option, value)[源代码]

在指定部分中设置选项的默认值。

setdefaults(section, keyvalues)[源代码]

在某个部分中设置多个键值默认值。keyvalues 应为一个包含新键值默认值的字典。

update_config(filename, overwrite=False)[源代码]

根据新的默认配置文件升级配置。如果overwrite为True,则覆盖任何现有值。

write()[源代码]

使用 read() 方法将配置写入最后打开的文件。

如果写入成功完成,则返回True,否则返回False。