Kivy 简明教程

Kivy - Configuration Object

当安装 Kivy 软件时,它会创建一个配置文件,其中包含带有其默认值的各种参数。命名为 “config.ini” 的文件存储在由 KIVY_HOME 环境变量标识的目录中。

  1. Windows 上:文件存储在 C:\Users\user\.kivy\config.ini。

  2. On Linux: /home/user/.kivy/config.ini.

  3. On macOS: /Users/user/.kivy/config.ini.

  4. On Android: /data/data/org.kivy.launcher/files/.kivy/config.ini.

  5. On iOS: <HOME_DIRECTORY>/Documents/.kivy/config.ini.

为了更改默认设置,您可以手动更改此文件或使用 Config 对象。Config 对象的 read()、set() 和 write() 方法用于读取设置的值、分配新值并将更改写入配置文件。

from kivy.config import Config

Config.read(<file>)

Config.write() # set config

您还可以仅在当前会话中将一个值分配给任何配置参数(称为令牌),方法是设置环境变量——通过编程方式或通过操作系统终端。

从 Python 设置环境变量:

import os
os.environ['KIVY_LOG_MODE'] = MIXED'

您还可以从 OS 终端设置环境变量。在 Windows 命令提示符终端中:

set KIVY_LOG_MODE = MIXED'

在 Linux/MacOS 中:

export KIVY_LOG_MODE = MIXED'

配置文件 config.ini 包含一个或多个部分,每个部分包含称为令牌的参数。KIvy 安装的典型“config.ini”文件包含 Kivy、Graphics、widgets 等部分。

kivy configuration object

要使用环境变量更改某个配置设置,请使用以下指令格式:

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

例如,若要设置日志级别:

KCFG_KIVY_LOG_LEVEL= "warning"

使用以下语法可以通过编程方式完成相同的操作:

os.environ["KCFG_KIVY_LOG_LEVEL"] = " warning"

Configuration Tokens

配置文件被划分到多个部分,每个部分包含令牌或参数。按部分顺序给出的部分重要令牌如下:

Section - [Kivy]

  1. default_font - 用于显示任何文本的小组件的默认字体。

  2. desktop - 整数,0 或 1。此选项控制功能,例如,启用或禁用滚动视图中的可拖动滚动条,禁用 TextInput 中的气泡等。

  3. log_dir - 日志目录的路径。

  4. log_level - 字符串,“trace”、“debug”、“info”、“warning”、“error”或“critical”之一。设置要使用的最小日志级别。

Section - [postproc]

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

  2. double_tap_time - 检测双击允许的时间,以毫秒为单位。

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

  4. triple_tap_time - 检测三次点击允许的时间,以毫秒为单位。

Section [graphics]

  1. fullscreen - 0、1、“fake”或“auto”之一。

  2. height - 窗口的高度,如果全屏设置为 auto,则不使用。

  3. left − 窗口左侧位置。

  4. top − 窗口顶部位置。

  5. resizable − 0 或 1 中的一个 - 0 表示固定大小,1 表示可调整大小。

  6. width − 窗口宽度,如果 fullscreen 设置为 auto,则不使用。

Section [widgets]

  1. scroll_distance − ScrollView 窗口小部件使用的 scroll_distance 属性的默认值。

  2. scroll_timeout − ScrollView 窗口小部件使用的 scroll_timeout 属性的默认值。

Methods of Config Object

add_section() − 如果缺少该节,则向配置中添加该节。例如 -

Config.add_section('newsection')

get() − 获取给定节的选项值。例如 -

Config.get('graphics', 'width')

set() − 为配置令牌分配值。示例 -

Config.set('graphics', 'width', 720)

write() − 使用 read() 方法将配置写入到最后打开的文件中。如果写入成功完成,则返回 True,否则返回 False。