GSettings
的配置文件是 xml
格式的,文件需以 .gschema.xml
结尾,文件名通常与 id
相同。配置文件安装在 /usr/share/glib-2.0/schemas/
目录下,手动添加进去的文件需要执行 sudo glib-complie-schemas /usr/share/glib-2.0/schemas
让其生效。
可以看到一个文件里可以包含多个 schema
,每个 schema
可由多个 key
组成。详细说明如下:
id
schema
中的 id
需要在整个配置系统中是唯一的,不然执行 glib-compile-schemas
时会忽略重复的 id
; id
的开头通常使用与应用相关的域名
path
schema
中的 path
必须是以 /
开头并且以 /
结尾,不能包含连续的 /
, path
用于指定在 storage
中存储路径,可以与 id
不一致
name
key
的名称,需要在此 schema
中是唯一的, name
的值由小写字母、数字和 -
组成,并且开头必须是小写字母,不能以 -
结尾,也不能出现连续的 -
type
key
的类型,需要是 GVariant
支持的类型,除了可以使用基本的类型外,也可按照 GVariant
的方式组合类型
default
key
的默认值
summary
key
的简单描述
description
key
的详细描述
python如何修改呢?
from gi.repository import Gio # 导入Gio库
gso = Gio.Settings("com.gh.device.report") # string schema_id
gso.set_int("report-type",1) # 传入值为key name/value,注意key的类型,选择set_boolean()/set_int()/set_string/set_double/set_enum等
a = gso.get_value("report-type")# 获取key的值
gso.set_boolean("https-enable",0)
b = gso.get_value("https-enable")
可能会出现修改不成功情况,需要开启什么东西ps -eaf |grep dbus,我也不太懂,欢迎留言。
参考文档链接:
手机扫一扫
移动阅读更方便
你可能感兴趣的文章