可以动态创建gsettings吗?
Posted
技术标签:
【中文标题】可以动态创建gsettings吗?【英文标题】:Can gsettings be created dynamically? 【发布时间】:2015-09-30 13:27:35 【问题描述】:我很好奇 gsettings 是否可以用于存储对象,还是必须静态设置所有内容?诸如用户对象之类的对象可以存储在 gsettings 中吗?是否可以通过每个用户的固定属性添加和删除用户?
【问题讨论】:
【参考方案1】:在docs 中,他们提到了您可以使用g_settings_new_with_path()
创建的“可重定位”模式。这允许您在不同位置动态存储具有相同架构的“对象”。因此,您可以创建 /org/mysite/users/bob/
并在其中拥有像 full-name
这样的属性,每个用户“对象”都会拥有。您仍然会存储一个引用它们的列表以了解存在哪个模式。要删除它们,您可以在每个键上使用 g_settings_reset()
。
【讨论】:
听起来不是它的本意。您确实需要一种方法来获取路径中的对象列表。将您拥有的对象数组存储在另一个键中听起来有点 hacky。此外,向架构添加更新听起来真的很难 - 但我不是 100% 确定这一点。 通过设计可重定位增加了一些复杂性,例如能够跟踪创建它们的架构,但它是受支持和可用的。以上是关于可以动态创建gsettings吗?的主要内容,如果未能解决你的问题,请参考以下文章