Skip to content

Gtk.FlowBoxChild

class — extends Widget, Accessible, Buildable, ConstraintTarget

The kind of widget that can be added to a GtkFlowBox.

FlowBox will automatically wrap its children in a GtkFlowBoxChild when necessary.

Constructors

new

@classmethod
def new(cls) -> Widget

Creates a new GtkFlowBoxChild.

This should only be used as a child of a GtkFlowBox.

Methods

changed

def changed(self) -> None

Marks child as changed, causing any state that depends on this to be updated.

This affects sorting and filtering.

Note that calls to this method must be in sync with the data used for the sorting and filtering functions. For instance, if the list is mirroring some external data set, and two children changed in the external data set when you call FlowBoxChild.changed on the first child, the sort function must only read the new data for the first of the two changed children, otherwise the resorting of the children will be wrong.

This generally means that if you don’t fully control the data model, you have to duplicate the data that affects the sorting and filtering functions into the widgets themselves.

Another alternative is to call FlowBox.invalidate_sort on any model change, but that is more expensive.

get_child

def get_child(self) -> Widget | None

Gets the child widget of self.

get_index

def get_index(self) -> int

Gets the current index of the child in its GtkFlowBox container.

is_selected

def is_selected(self) -> bool

Returns whether the child is currently selected in its GtkFlowBox container.

set_child

def set_child(self, child: Widget | None = ...) -> None

Sets the child widget of self.

Parameters:

  • child — the child widget

Virtual methods

do_activate

def do_activate(self) -> None

Properties

child

child: Widget  # read/write

The child widget.

Signals

activate

def on_activate(self) -> None: ...

Emitted when the user activates a child widget in a GtkFlowBox.

This can happen either by clicking or double-clicking, or via a keybinding.

This is a keybinding signal, but it can be used by applications for their own purposes.

The default bindings are <kbd>Space</kbd> and <kbd>Enter</kbd>.