class StringList(**properties: Any)

Superclasses: Object

Implemented Interfaces: ListModel, Buildable

GtkStringList is a list model that wraps an array of strings.

The objects in the model are of type StringObject and have a “string” property that can be used inside expressions.

GtkStringList is well-suited for any place where you would typically use a char*[], but need a list model.

GtkStringList as GtkBuildable

The GtkStringList implementation of the GtkBuildable interface supports adding items directly using the <items> element and specifying <item> elements for each item. Each <item> element supports the regular translation attributes “translatable”, “context” and “comments”.

Here is a UI definition fragment specifying a GtkStringList

<object class="GtkStringList">
    <item translatable="yes">Factory</item>
    <item translatable="yes">Home</item>
    <item translatable="yes">Subway</item>


class StringList
classmethod new(strings: Sequence[str] | None = None) StringList

Creates a new GtkStringList with the given strings.


strings – The strings to put in the model


class StringList
append(string: str) None

Appends string to self.

The string will be copied. See take for a way to avoid that.


string – the string to insert

get_string(position: int) str | None

Gets the string that is at position in self.

If self does not contain position items, None is returned.

This function returns the const char *. To get the object wrapping it, use get_item().


position – the position to get the string for

remove(position: int) None

Removes the string at position from self.

position must be smaller than the current length of the list.


position – the position of the string that is to be removed

splice(position: int, n_removals: int, additions: Sequence[str] | None = None) None

Changes self by removing n_removals strings and adding additions to it.

This function is more efficient than append and remove, because it only emits the ::items-changed signal once for the change.

This function copies the strings in additions.

The parameters position and n_removals must be correct (ie: position + n_removals must be less than or equal to the length of the list at the time this function is called).

  • position – the position at which to make the change

  • n_removals – the number of strings to remove

  • additions – The strings to add

take(string: str) None

Adds string to self at the end, and takes ownership of it.

This variant of append is convenient for formatting strings:

gtk_string_list_take (self, g_strdup_print ("``%d`` dollars", lots));

string – the string to insert


class StringList
props.item_type: type

The type of items. See get_item_type.

Added in version 4.14.

props.n_items: int

The number of items. See get_n_items.

Added in version 4.14.

props.strings: Sequence[str]

Added in version 4.10.