Kivy - 配置对象



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

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

  • Linux上:/home/user/.kivy/config.ini。

  • macOS上:/Users/user/.kivy/config.ini。

  • Android上:/data/data/org.kivy.launcher/files/.kivy/config.ini。

  • 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'

您也可以从操作系统终端设置环境变量。在 Windows 命令提示符终端:

set KIVY_LOG_MODE = MIXED'

在 Linux/macOS 上:

export KIVY_LOG_MODE = MIXED'

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

kivy configuration object

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

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

例如,要设置日志级别:

KCFG_KIVY_LOG_LEVEL= "warning"

可以使用以下语法以编程方式执行相同的操作:

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

配置令牌

配置文件分为几个部分,每个部分包含令牌或参数。以下是一些按节顺序排列的重要令牌:

节 - [Kivy]

  • default_font - 用于显示任何文本的小部件的默认字体。

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

  • log_dir - 日志目录的路径。

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

节 - [postproc]

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

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

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

  • triple_tap_time - 三击检测允许的时间,以毫秒为单位。

节 [graphics]

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

  • height - 窗口高度,如果 fullscreen 设置为 auto,则不使用。

  • left - 窗口左侧位置。

  • top - 窗口顶部位置。

  • resizable - 0 或 1 之一 - 0 表示固定大小,1 表示可调整大小。

  • width - 窗口宽度,如果 fullscreen 设置为 auto,则不使用。

节 [widgets]

  • scroll_distance - ScrollView 组件使用的 scroll_distance 属性的默认值。

  • scroll_timeout - ScrollView 组件使用的 scroll_timeout 属性的默认值。

Config 对象的方法

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

Config.add_section('newsection')

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

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

set() - 为配置令牌赋值。例如:

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

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

广告