Ok, resolvi isso.
Primeiro eu tive que editar dados / glib-2.0 / schemas / net.launchpad.calorie-burner.gschema.xml:
Observe que type="s" é para strings e type="i" é para inteiros
<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="calorie-burner">
<schema id="net.launchpad.calorie-burner" path="/net/launchpad/calorie-burner/">
<key name="weight" type="i">
<range min="1" max="350"/>
<default>100</default>
<summary>User's Weight Kgs</summary>
</key>
<key name="units" type="s">
<choices>
<choice value='Metric'/>
<choice value='Imperial'/>
</choices>
<default>'Metric'</default>
</key>
<key name="energy" type="s">
<choices>
<choice value='KJs'/>
<choice value='Calories'/>
</choices>
<default>'KJs'</default>
</key>
</schema>
</schemalist>
Em seguida, tive que conectar meus elementos de interface do usuário às minhas preferências:
Na janela de preferências eu tive que fazer o seguinte:
# Bind each preference widget to gsettings
settings = Gio.Settings("net.launchpad.calorie-burner")
widget = self.builder.get_object('weight')
settings.bind("weight", widget, "value", Gio.SettingsBindFlags.DEFAULT)
widget = self.builder.get_object('cmbUnits-entry')
settings.bind("units", widget, "text", Gio.SettingsBindFlags.DEFAULT)
widget = self.builder.get_object('cmbEnergy-entry')
settings.bind("energy", widget, "text", Gio.SettingsBindFlags.DEFAULT)
Observe que o primeiro argumento é o nome da configuração, o segundo é o widget na interface e o thrid é a propriedade do widget que contém os dados que eu quero armazenar nas minhas preferências.
Observe também que para as caixas de combinação eu tive que ativar "Has Entry" para criar uma caixa de texto com a propriedade text.
Por fim, na minha caixa de diálogo principal, tive que fazer o seguinte:
from gi.repository import Gtk, Gio # pylint: disable=E0611
self.settings = Gio.Settings("net.launchpad.calorie-burner")
Para acessar as configurações, chame get_string ou get_int com o nome da configuração:
self.settings.get_string("energy")
self.settings.get_string("units")
self.settings.get_int("weight")