1

GIO(GLib 的 I/O 库)有一个使用密钥文件的 GSettings 后端。从 C 语言中,您可以创建此后端的实例,以强制使用密钥文件而不是系统注册表,g_keyfile_settings_backend_new()然后使用g_settings_new_with_backend(). 但是,要做到这一点,你必须#define G_SETTINGS_ENABLE_BACKEND在你的代码中,因为后端公共 API 是不稳定的。

我想从 Python 中使用 PyGObject 执行此操作(为了清楚起见,因为这个术语令人困惑 - 这是 GTK 3 附带的 GObject 自省库,而不是 PyGTK 和 GTK 2 附带的 PyGObject。)我可以

>>> from gi.repository import Gio
>>> 'SettingsBackend' in dir(Gio)
True

但是,没有对应于g_keyfile_settings_backend_new()in的函数dir(Gio)。如果我尝试实例化后端,

>>> Gio.SettingsBackend()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
MemoryError

那么,有人有任何指示吗?或者也许没有编译 Python 模块G_SETTINGS_ENABLE_BACKEND,我不走运?

4

0 回答 0