![](gtk-logo.svg)

###  [ Gtk ](index.html)

API Version: 3.0

Library Version: 3.24

#####  Type

[ Buildable ](iface.Buildable.html#description)

#####  Instance methods

[ add_child ](method.Buildable.add_child.html) [ construct_child
](method.Buildable.construct_child.html) [ custom_finished
](method.Buildable.custom_finished.html) [ custom_tag_end
](method.Buildable.custom_tag_end.html) [ custom_tag_start
](method.Buildable.custom_tag_start.html) [ get_internal_child
](method.Buildable.get_internal_child.html) [ get_name
](method.Buildable.get_name.html) [ parser_finished
](method.Buildable.parser_finished.html) [ set_buildable_property
](method.Buildable.set_buildable_property.html) [ set_name
](method.Buildable.set_name.html)

#####  Virtual methods

[ add_child ](vfunc.Buildable.add_child.html) [ construct_child
](vfunc.Buildable.construct_child.html) [ custom_finished
](vfunc.Buildable.custom_finished.html) [ custom_tag_end
](vfunc.Buildable.custom_tag_end.html) [ custom_tag_start
](vfunc.Buildable.custom_tag_start.html) [ get_internal_child
](vfunc.Buildable.get_internal_child.html) [ get_name
](vfunc.Buildable.get_name.html) [ parser_finished
](vfunc.Buildable.parser_finished.html) [ set_buildable_property
](vfunc.Buildable.set_buildable_property.html) [ set_name
](vfunc.Buildable.set_name.html)

Generated by [ gi-docgen ](https://gitlab.gnome.org/GNOME/gi-docgen) 2023.4

###  Interface

#  [ Gtk ](index.html) Buildable

####  Description  [ [src]
](https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gtk/gtkbuildable.c#L19
"go to source location")

    
    
    interface Gtk.Buildable : GObject.Object

GtkBuildable allows objects to extend and customize their deserialization from
[GtkBuilder  UI  descriptions][  BUILDER  \-  UI  ]. The interface includes
methods for setting names and properties of objects, parsing custom tags and
constructing child objects.

The GtkBuildable interface is implemented by all widgets and many of the non-
widget objects that are provided by  GTK  +. The main user of this interface
is ` GtkBuilder ` . There should be very little need for applications to call
any of these functions directly.

An object only needs to implement this interface if it needs to extend the `
GtkBuilder ` format or run any extra routines at deserialization time.

####  Prerequisite

In order to implement Buildable, your type must inherit from [ ` GObject `
](javascript:void\(0\)) .

####  Implementations

  * [ GtkAboutDialog ](class.AboutDialog.html)
  * [ GtkAccelLabel ](class.AccelLabel.html)
  * [ GtkAction ](class.Action.html)
  * [ GtkActionBar ](class.ActionBar.html)
  * [ GtkActionGroup ](class.ActionGroup.html)
  * [ GtkAlignment ](class.Alignment.html)
  * [ GtkAppChooserButton ](class.AppChooserButton.html)
  * [ GtkAppChooserDialog ](class.AppChooserDialog.html)
  * [ GtkAppChooserWidget ](class.AppChooserWidget.html)
  * [ GtkApplicationWindow ](class.ApplicationWindow.html)
  * [ GtkArrow ](class.Arrow.html)
  * [ GtkAspectFrame ](class.AspectFrame.html)
  * [ GtkAssistant ](class.Assistant.html)
  * [ GtkBin ](class.Bin.html)
  * [ GtkBox ](class.Box.html)
  * [ GtkButton ](class.Button.html)
  * [ GtkButtonBox ](class.ButtonBox.html)
  * [ GtkCalendar ](class.Calendar.html)
  * [ GtkCellArea ](class.CellArea.html)
  * [ GtkCellAreaBox ](class.CellAreaBox.html)
  * [ GtkCellView ](class.CellView.html)
  * [ GtkCheckButton ](class.CheckButton.html)
  * [ GtkCheckMenuItem ](class.CheckMenuItem.html)
  * [ GtkColorButton ](class.ColorButton.html)
  * [ GtkColorChooserDialog ](class.ColorChooserDialog.html)
  * [ GtkColorChooserWidget ](class.ColorChooserWidget.html)
  * [ GtkColorSelection ](class.ColorSelection.html)
  * [ GtkColorSelectionDialog ](class.ColorSelectionDialog.html)
  * [ GtkComboBox ](class.ComboBox.html)
  * [ GtkComboBoxText ](class.ComboBoxText.html)
  * [ GtkContainer ](class.Container.html)
  * [ GtkDialog ](class.Dialog.html)
  * [ GtkDrawingArea ](class.DrawingArea.html)
  * [