AboutDialog

class AboutDialog(*args, **kwargs)

Superclasses: Window, Widget, InitiallyUnowned, Object

Implemented Interfaces: Accessible, Buildable, ConstraintTarget, Native, Root, ShortcutManager

The GtkAboutDialog offers a simple way to display information about a program.

The shown information includes the programs’ logo, name, copyright, website and license. It is also possible to give credits to the authors, documenters, translators and artists who have worked on the program.

An about dialog is typically opened when the user selects the About option from the Help menu. All parts of the dialog are optional.

https://docs.gtk.org/gtk4/aboutdialog.png

About dialogs often contain links and email addresses. GtkAboutDialog displays these as clickable links. By default, it calls launch when a user clicks one. The behaviour can be overridden with the activate_link signal.

To specify a person with an email address, use a string like Edgar Allan Poe <edgar``poe`.com>`. To specify a website with a title, use a string like GTK team https://www.gtk.org.

To make constructing a GtkAboutDialog as convenient as possible, you can use the function show_about_dialog which constructs and shows a dialog and keeps it around so that it can be shown again.

Note that GTK sets a default title of _("About ``%s`”)` on the dialog window (where `%s` is replaced by the name of the application, but in order to ensure proper translation of the title, applications should set the title property explicitly when constructing a GtkAboutDialog, as shown in the following example:

GFile *logo_file = g_file_new_for_path ("./logo.png");
GdkTexture *example_logo = gdk_texture_new_from_file (logo_file, NULL);
g_object_unref (logo_file);

gtk_show_about_dialog (NULL,
                       "program-name", "ExampleCode",
                       "logo", example_logo,
                       "title", _("About ExampleCode"),
                       NULL);

CSS nodes

GtkAboutDialog has a single CSS node with the name window and style class .aboutdialog.

Constructors

class AboutDialog
classmethod new() Widget

Creates a new GtkAboutDialog.

Methods

class AboutDialog
add_credit_section(section_name: str, people: Sequence[str]) None

Creates a new section in the “Credits” page.

Parameters:
  • section_name – The name of the section

  • people – The people who belong to that section

get_artists() list[str]

Returns the names of the artists which are displayed in the credits page.

get_authors() list[str]

Returns the names of the authors which are displayed in the credits page.

get_comments() str | None

Returns the comments string.

Returns the copyright string.

get_documenters() list[str]

Returns the name of the documenters which are displayed in the credits page.

get_license() str | None

Returns the license information.

get_license_type() License

Retrieves the license type.

Returns the paintable displayed as logo in the about dialog.

get_logo_icon_name() str | None

Returns the icon name displayed as logo in the about dialog.

get_program_name() str | None

Returns the program name displayed in the about dialog.

get_system_information() str | None

Returns the system information that is shown in the about dialog.

get_translator_credits() str | None

Returns the translator credits string which is displayed in the credits page.

get_version() str | None

Returns the version string.

get_website() str | None

Returns the website URL.

get_website_label() str | None

Returns the label used for the website link.

get_wrap_license() bool

Returns whether the license text in the about dialog is automatically wrapped.

set_artists(artists: Sequence[str]) None

Sets the names of the artists to be displayed in the “Credits” page.

Parameters:

artists – the authors of the artwork of the application

set_authors(authors: Sequence[str]) None

Sets the names of the authors which are displayed in the “Credits” page of the about dialog.

Parameters:

authors – the authors of the application

set_comments(comments: str | None = None) None

Sets the comments string to display in the about dialog.

This should be a short string of one or two lines.

Parameters:

comments – a comments string

Sets the copyright string to display in the about dialog.

This should be a short string of one or two lines.

Parameters:

copyright – the copyright string

set_documenters(documenters: Sequence[str]) None

Sets the names of the documenters which are displayed in the “Credits” page.

Parameters:

documenters – the authors of the documentation of the application

set_license(license: str | None = None) None

Sets the license information to be displayed in the about dialog.

If license is NULL, the license page is hidden.

Parameters:

license – the license information

set_license_type(license_type: License) None

Sets the license of the application showing the about dialog from a list of known licenses.

This function overrides the license set using set_license.

Parameters:

license_type – the type of license

Sets the logo in the about dialog.

Parameters:

logo – a GdkPaintable

set_logo_icon_name(icon_name: str | None = None) None

Sets the icon name to be displayed as logo in the about dialog.

Parameters:

icon_name – an icon name

set_program_name(name: str | None = None) None

Sets the name to display in the about dialog.

If name is not set, the string returned by :func:`~gi.repository.GLib.get_application_name` is used.

Parameters:

name – the program name

set_system_information(system_information: str | None = None) None

Sets the system information to be displayed in the about dialog.

If system_information is NULL, the system information page is hidden.

See system_information.

Parameters:

system_information – system information

set_translator_credits(translator_credits: str | None = None) None

Sets the translator credits string which is displayed in the credits page.

The intended use for this string is to display the translator of the language which is currently used in the user interface. Using gettext(), a simple way to achieve that is to mark the string for translation:

GtkWidget *about = gtk_about_dialog_new ();
 gtk_about_dialog_set_translator_credits (GTK_ABOUT_DIALOG (about),
                                          _("translator-credits"));

It is a good idea to use the customary msgid “translator-credits” for this purpose, since translators will already know the purpose of that msgid, and since GtkAboutDialog will detect if “translator-credits” is untranslated and omit translator credits.

Parameters:

translator_credits – the translator credits

set_version(version: str | None = None) None

Sets the version string to display in the about dialog.

Parameters:

version – the version string

set_website(website: str | None = None) None

Sets the URL to use for the website link.

Parameters:

website – a URL string starting with http://

set_website_label(website_label: str) None

Sets the label to be used for the website link.

Parameters:

website_label – the label used for the website link

set_wrap_license(wrap_license: bool) None

Sets whether the license text in the about dialog should be automatically wrapped.

Parameters:

wrap_license – whether to wrap the license

Properties

class AboutDialog
props.artists: Sequence[str]

The people who contributed artwork to the program, as a NULL-terminated array of strings.

Each string may contain email addresses and URLs, which will be displayed as links.

props.authors: Sequence[str]

The authors of the program, as a NULL-terminated array of strings.

Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.

props.comments: str

Comments about the program.

This string is displayed in a label in the main dialog, thus it should be a short explanation of the main purpose of the program, not a detailed list of features.

props.copyright: str

Copyright information for the program.

props.documenters: Sequence[str]

The people documenting the program, as a NULL-terminated array of strings.

Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.

props.license: str

The license of the program, as free-form text.

This string is displayed in a text view in a secondary dialog, therefore it is fine to use a long multi-paragraph text. Note that the text is only wrapped in the text view if the “wrap-license” property is set to TRUE; otherwise the text itself must contain the intended linebreaks.

When setting this property to a non-NULL value, the license_type property is set to GTK_LICENSE_CUSTOM as a side effect.

The text may contain links in this format <http://www.some.place/> and email references in the form <mail-to``some`.body>`, and these will be converted into clickable links.

props.license_type: License

The license of the program.

The GtkAboutDialog will automatically fill out a standard disclaimer and link the user to the appropriate online resource for the license text.

If GTK_LICENSE_UNKNOWN is used, the link used will be the same specified in the website property.

If GTK_LICENSE_CUSTOM is used, the current contents of the license property are used.

For any other License value, the contents of the license property are also set by this property as a side effect.

A logo for the about box.

If it is NULL, the default window icon set with set_default_icon_name will be used.

props.logo_icon_name: str

A named icon to use as the logo for the about box.

This property overrides the logo property.

props.program_name: str

The name of the program.

If this is not set, it defaults to the value returned by :func:`~gi.repository.GLib.get_application_name`.

props.system_information: str

Information about the system on which the program is running.

This information is displayed in a separate page, therefore it is fine to use a long multi-paragraph text. Note that the text should contain the intended linebreaks.

The text may contain links in this format <http://www.some.place/> and email references in the form <mail-to``some`.body>`, and these will be converted into clickable links.

props.translator_credits: str

Credits to the translators.

This string should be marked as translatable.

The string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.

props.version: str

The version of the program.

props.website: str

The URL for the link to the website of the program.

This should be a string starting with http:// or https://.

props.website_label: str

The label for the link to the website of the program.

props.wrap_license: bool

Whether to wrap the text in the license dialog.

Signals

class AboutDialog.signals

Emitted every time a URL is activated.

Applications may connect to it to override the default behaviour, which is to call launch.

Parameters:

uri – the URI that is activated