目录
- 配置对象
- 应用配置
- Config 对象的使用
- 使用环境变量更改配置
- 可用的配置令牌
ConfigConfigParserConfigParser.add_callback()ConfigParser.adddefaultsection()ConfigParser.get()ConfigParser.get_configparser()ConfigParser.getdefault()ConfigParser.getdefaultint()ConfigParser.nameConfigParser.read()ConfigParser.remove_callback()ConfigParser.set()ConfigParser.setall()ConfigParser.setdefault()ConfigParser.setdefaults()ConfigParser.update_config()ConfigParser.write()
配置对象¶
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:可选值为 default、interrupt、free_all、free_only
用于kivy的时钟类型。参见:mod:kivy.clock。
- log_dir:字符串
日志目录的路径。
- log_enable:整数,0 或 1
启用文件日志记录。0 表示禁用,1 表示启用。
备注
日志输出也可以通过环境变量
KIVY_LOG_MODE、KIVY_NO_FILELOG和KIVY_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`、height、top`和`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,则无法控制初始位置:top 和 left 将被忽略。
- 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
控件显示给定视觉状态的最短时间。此属性目前被诸如
DropDown和ButtonBehavior之类的控件使用,以确保它们在指定时间内显示当前的视觉状态。- always_on_top:整数,取值为
0或1,默认为0。 启用后,窗口将置于最前并保持在其他窗口之上。此功能仅适用于sdl2窗口提供程序。``0``表示禁用,``1``表示启用。
- show_taskbar_icon:整数,取值为
0或1,默认为1 决定应用的图标是否会添加到任务栏。仅适用于SDL2窗口提供程序。``0``表示图标不会显示在任务栏中,``1``表示会显示。
- allow_screensaver:整数,取值为0或1,默认为1
允许设备显示屏幕保护程序,或在移动设备上进入休眠状态。此功能仅适用于sdl2窗口提供程序。
- vsync:none、空值或整数
是否启用垂直同步,目前仅适用于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_time 和 allow_screensaver 已添加到 graphics 部分。kivy_clock 已添加到 kivy 部分。default_font 已添加到 kivy 部分。useragent 已添加到 network 部分。
在 1.9.0 版本发生变更: 在图形部分新增了 borderless 和 window_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_timeout、scroll_distance 和 scroll_friction。已移除 list_friction、list_trigger_distance 和 list_friction_bound。已从控件中移除 keyboard_type 和 keyboard_layout。已在 kivy 部分添加 keyboard_mode 和 keyboard_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 版本加入.
- get(section, option, **kwargs)[源代码]¶
获取指定部分的选项值。
如果提供了 vars,它必须是一个字典。选项会依次在 vars`(如果提供)、`section 和 DEFAULTSECT 中查找。如果未找到键且提供了 fallback,则将其用作回退值。None 可以作为 fallback 值提供。
如果启用了插值,并且可选参数 raw 为 False,则所有插值都会在返回值中展开。
参数 raw、vars 和 fallback 仅限关键字参数。
DEFAULT 部分比较特殊。
- static get_configparser(name)[源代码]¶
返回名为 name 的
ConfigParser实例,若未找到则返回 None。- 参数:
- name:字符串
要返回的
ConfigParser实例的名称。
- 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 版本加入.