【问题标题】:Can gsettings be created dynamically?可以动态创建gsettings吗?
【发布时间】:2015-09-30 13:27:35
【问题描述】:

我很好奇 gsettings 是否可以用于存储对象,还是必须静态设置所有内容?诸如用户对象之类的对象可以存储在 gsettings 中吗?是否可以通过每个用户的固定属性添加和删除用户?

【问题讨论】:

    标签: linux glib gnome gio gsettings


    【解决方案1】:

    docs 中,他们提到了您可以使用g_settings_new_with_path() 创建的“可重定位”模式。这允许您在不同位置动态存储具有相同架构的“对象”。因此,您可以创建 /org/mysite/users/bob/ 并在其中拥有像 full-name 这样的属性,每个用户“对象”都会拥有。您仍然会存储一个引用它们的列表以了解存在哪个模式。要删除它们,您可以在每个键上使用 g_settings_reset()

    【讨论】:

    • 听起来不是它的本意。您确实需要一种方法来获取路径中的对象列表。将您拥有的对象数组存储在另一个键中听起来有点 hacky。此外,向架构添加更新听起来真的很难 - 但我不是 100% 确定这一点。
    • 通过设计可重定位增加了一些复杂性,例如能够跟踪创建它们的架构,但它是受支持和可用的。
    猜你喜欢
    • 1970-01-01
    • 2019-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多