class new (name, description, help_description, user_data, destroy)
  add_entries (entries)
  free ()
  ref ()
  set_translate_func (func, *data)
  set_translation_domain (domain)
  unref ()


class GLib.OptionGroup

A GOptionGroup struct defines the options in a single group. The struct has only private fields and should not be directly accessed.

All options in a group share the same translation function. Libraries which need to parse commandline options are expected to provide a function for getting a GOptionGroup holding their options, which the application can then add to its GLib.OptionContext.

classmethod new(name, description, help_description, user_data, destroy)[source]
  • name (str) – the name for the option group, this is used to provide help for the options in this group with --help- name
  • description (str) – a description for this group to be shown in --help. This string is translated using the translation domain or translation function of the group
  • help_description (str) – a description for the --help- name option. This string is translated using the translation domain or translation function of the group
  • user_data (object or None) – user data that will be passed to the pre- and post-parse hooks, the error hook and to callbacks of GLib.OptionArg.CALLBACK options, or None
  • destroy (GLib.DestroyNotify or None) – a function that will be called to free user_data, or None

a newly created option group. It should be added to a GLib.OptionContext or freed with GLib.OptionGroup.unref().

Return type:


Creates a new GLib.OptionGroup.

New in version 2.6.

Parameters:entries ([GLib.OptionEntry]) – a None-terminated array of GLib.OptionEntrys

Adds the options specified in entries to self.

New in version 2.6.


Frees a GLib.OptionGroup. Note that you must not free groups which have been added to a GLib.OptionContext.

New in version 2.6.

Deprecated since version 2.44: Use GLib.OptionGroup.unref() instead.

Returns:a GLib.OptionGroup
Return type:GLib.OptionGroup

Increments the reference count of self by one.

New in version 2.44.

set_translate_func(func, *data)[source]

Sets the function which is used to translate user-visible strings, for --help output. Different groups can use different GLib.TranslateFuncs. If func is None, strings are not translated.

If you are using gettext(), you only need to set the translation domain, see GLib.OptionGroup.set_translation_domain().

New in version 2.6.

Parameters:domain (str) – the domain to use

A convenience function to use gettext() for translating user-visible strings.

New in version 2.6.


Decrements the reference count of self by one. If the reference count drops to 0, the self will be freed. and all memory allocated by the self is released.

New in version 2.44.