gtk.Box

gtk.Box — an abstract base class for box containers

Synopsis

class gtk.Box(gtk.Container):
    def pack_start(child, expand=True, fill=True, padding=0)
def pack_end(child, expand=True, fill=True, padding=0)
def pack_start_defaults(widget)
def pack_end_defaults(widget)
def set_homogeneous(homogeneous)
def get_homogeneous()
def set_spacing(spacing)
def get_spacing()
def reorder_child(child, position)
def query_child_packing(child)
def set_child_packing(child, expand, fill, padding, pack_type)

Ancestry

+-- gobject.GObject
  +-- gtk.Object
    +-- gtk.Widget
      +-- gtk.Container
        +-- gtk.Box

Implemented Interfaces

gtk.Box implements gtk.Buildable

gtk.Box Properties

gtk.Object Properties

gtk.Widget Properties

gtk.Container Properties

"spacing"Read/WriteThe amount of space between children.
"homogeneous"Read/WriteIf True the children should all be the same size.

gtk.Box Style Properties

gtk.Widget Style Properties

gtk.Box Child Properties

"expand"Read/WriteIf True the child should receive extra space when the parent grows
"fill"Read/WriteIf True extra space given to the child should be allocated to the child; if False extra space given to the child should be used as padding
"padding"Read/WriteThe amount of extra space to put between the child and its neighbors, in pixels
"pack-type"Read/WriteIndicates whether the child is packed with reference to the start (gtk.PACK_START) or end (gtk.PACK_END) of the parent
"position"Read/WriteThe index of the child in the parent

gtk.Box Signal Prototypes

gobject.GObject Signal Prototypes

gtk.Object Signal Prototypes

gtk.Widget Signal Prototypes

gtk.Container Signal Prototypes

Description

The gtk.Box class is an abstract base class defining a widget that encapsulates functionality for a particular kind of container, one that organizes a variable number of widgets into a rectangular area. gtk.Box currently has two families of derived classes: gtk.HBox and gtk.VBox being one, and gtk.HButtonBox and gtk.VButtonBox -- the other.

The rectangular area of a gtk.Box is organized into either a single row or a single column of child widgets depending upon whether the box is of type gtk.HBox or gtk.VBox, respectively. Thus, all children of a gtk.Box are allocated one dimension in common, which is the height of a row, or the width of a column.

gtk.Box uses a notion of packing. Packing refers to adding widgets with reference to a particular position in a gtk.Container. For a gtk.Box, there are two reference positions: the start and the end of the box. For a gtk.VBox, the start is defined as the top of the box and the end is defined as the bottom. For a gtk.HBox the start is defined as the left side and the end is defined as the right side.

Repeated calls to pack_start() pack widgets into a gtk.Box from start to end. The pack_end() method adds widgets from end to start. You may intersperse these calls and add widgets from both ends of the same gtk.Box.

Because gtk.Box is a gtk.Container, you may also use add() to insert widgets into the box, and they will be packed as if with the pack_start() method. Use remove() to remove widgets from the gtk.Box.

The set_homogeneous() method specifies whether or not all children of the gtk.Box are forced to get the same amount of space.

The set_spacing() method determines how much space will be minimally placed between all children in the gtk.Box.

The reorder_child() method moves a gtk.Box child to a different place in the box.

The set_child_packing() method resets the expand, fill, and padding attributes of any gtk.Box child. Use the query_child_packing() to query these properties.

Methods

gtk.Box.pack_start

    def pack_start(child, expand=True, fill=True, padding=0)

child :

the widget to be added to the box

expand :

True if child is to be given extra space allocated to box. The extra space will be divided evenly between all children of box that use this option.

fill :

True if space given to child by the expand option is actually allocated to child, rather than just padding it. This parameter has no effect if expand is set to False. A child is always allocated the full height of a gtk.HBox and the full width of a gtk.VBox. This option affects the other dimension.

padding :

extra space in pixels to put between child and its neighbors, over and above the global amount specified by spacing in gtk.Box. If child is a widget at one of the reference ends of box, then padding pixels are also put between child and the reference edge of box.

The pack_start() method adds child to the box, packed with reference to the start of box. The child is packed after any other child packed with reference to the start of box.

gtk.Box.pack_end

    def pack_end(child, expand=True, fill=True, padding=0)

child :

the widget to be added to the box

expand :

True if child is to be given extra space allocated to box. The extra space will be divided evenly between all children of box that use this option.

fill :

True if space given to child by the expand option is actually allocated to child, rather than just padding it. This parameter has no effect if expand is set to False. A child is always allocated the full height of a gtk.HBox and the full width of a gtk.VBox. This option affects the other dimension.

padding :

extra space in pixels to put between child and its neighbors, over and above the global amount specified by spacing in gtk.Box. If child is a widget at one of the reference ends of box, then padding pixels are also put between child and the reference edge of box.

The pack_end() method adds child to the box, packed with reference to the end of the box. The child is packed after (away from end of) any other child packed with reference to the end of the box.

gtk.Box.pack_start_defaults

    def pack_start_defaults(widget)

widget :

the widget to be added to the box

Warning

This method is deprecated in PyGTK 2.4 and above.

The pack_start_defaults() method adds widget to the box, packed with reference to the start of the box. The widget is packed after any other child widget packed with reference to the start of box. The parameters for packing the child widget: expand, fill, and padding are given their default values, True, True, and 0, respectively.

gtk.Box.pack_end_defaults

    def pack_end_defaults(widget)

widget :

the widget to be added to the box

Warning

This method is deprecated in PyGTK 2.4 and above.

The pack_end_defaults() method adds widget to the box, packed with reference to the end of the box. The widget is packed after (away from the end of) any other child widget packed with reference to the end of the box. The parameters for packing the child widget: expand, fill, and padding are given their default values, True, True, and 0, respectively.

gtk.Box.set_homogeneous

    def set_homogeneous(homogeneous)

homogeneous :

If True the box is homogeneous i.e. all children are allocated the same space otherwise the allocations vary for each child.

The set_homogeneous() method sets the homogeneous (all children are allocated the same space) property of the box.

gtk.Box.get_homogeneous

    def get_homogeneous()

Returns :

True if the box is homogeneous.

The get_homogeneous() method returns whether the box is homogeneous (all children are allocated the same space). See gtk.Box.set_homogeneous().

gtk.Box.set_spacing

    def set_spacing(spacing)

spacing :

the number of pixels to put between children.

The set_spacing() method sets the number of pixels to place between children of the box.

gtk.Box.get_spacing

    def get_spacing()

Returns :

the spacing in pixels between children

The get_spacing() method returns the number of pixels used as padding between children as set by the set_spacing().

gtk.Box.reorder_child

    def reorder_child(child, position)

child :

the child widget to move

position :

the new position for child in the children list of the box starting from 0. If negative, indicates the end of the list.

Moves child to a new position in the list of the box children. The list contains both widgets packed gtk.PACK_START as well as widgets packed gtk.PACK_END, in the order that these widgets were added to box.

A widget's position in the box children list determines where the widget is packed into box. A child widget at some position in the list will be packed just after all other widgets of the same packing type that appear earlier in the list.

gtk.Box.query_child_packing

    def query_child_packing(child)

child :

the child widget to be queried for its packing information

expand :

the child's expand value

fill :

the child's fill value

padding :

the child's padding value

pack_type :

the child's pack_type value

The query_child_packing() method returns a tuple containing information about how child is packed into the box. The tuple members are: (expand, fill, padding, pack_type) where: expand and fill are 0 or 1 (corresponding to False or True); padding is the number of pixels of padding; and pack_type is gtk.PACK_START or gtk.PACK_END.

gtk.Box.set_child_packing

    def set_child_packing(child, expand, fill, padding, pack_type)

child :

the child widget to be queried for its packing information

expand :

the child's new expand value

fill :

the child's new fill value

padding :

the child's new padding value

pack_type :

the child's new pack_type value

The set_child_packing() method sets the way child is packed into the box.