Os aplicativos rapidamente usam os esquemas simplificados para as preferências do aplicativo. Um esquema padrão é criado em data/glib-2.0/schemas
. É um arquivo xml chamado net.launchpad.XXXX.gschema.xml
, em que XXXX é o nome do seu aplicativo.
Veja um exemplo de entrada:
<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="drawers">
<schema id="net.launchpad.drawers" path="/net/launchpad/drawers/">
<key name="maxicons-row" type="i">
<range min="1" max="15"/>
<default>5</default>
<summary>Maximum Icons per Row</summary>
<description>Minimum value = 1 Max=15</description>
</key>
</schema>
</schemalist>
As chaves podem ser inteiros (type="i"), boolean (type="b") ou floats (type="d"). Use apenas letras minúsculas e -
nos nomes das chaves.
Para acessar as configurações e vinculá-las aos widgets, você pode obtê-las da seguinte maneira (tiradas de PreferencesXXXXWindow.py geradas rapidamente):
def finish_initializing(self, builder):# pylint: disable=E1002
"""Set up the preferences dialog"""
super(PreferencesDrawersDialog, self).finish_initializing(builder)
# Bind each preference widget to gsettings
self.settings = Gio.Settings("net.launchpad.drawers")
widget = self.builder.get_object('maxicons_row')
self.settings.bind("maxicons-row", widget, "value", Gio.SettingsBindFlags.DEFAULT)
Para ler valores para variáveis dentro de um programa, você pode fazer o seguinte:
from gi.repository import Gio
settings = Gio.Settings("net.launchpad.drawers")
integer=settings.get_int("intsetting")
float = settings.get_double("floatsetting")
bool = settings.get_boolean("booleansetting")
Espero que ajude.