.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.BoxSizer:

==========================================================================================================================================
|phoenix_title|  **wx.BoxSizer**
==========================================================================================================================================

The basic idea behind a box sizer is that windows will most often be laid out in rather simple basic geometry, typically in a row or a column or several hierarchies of either. 
         

For more information, please see :ref:`wx.BoxSizer`. 








         



.. seealso:: :ref:`wx.Sizer`, :ref:`Sizers Overview <sizers overview>`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>BoxSizer</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.BoxSizer_inheritance.svg" alt="Inheritance diagram of BoxSizer" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.BoxSizer.html" title="The basic idea behind a box sizer is that windows will most often be laid out in rather simple basic geometry, typically in a row or a column or several hierarchies of either." alt="" coords="5,159,123,188"/> <area shape="rect" id="node2" href="wx.Sizer.html" title="wx.Sizer  is the abstract base class used for laying out subwindows in a window." alt="" coords="19,82,109,111"/> <area shape="rect" id="node3" href="wx.Object.html" title="This is the root class of many of the wxWidgets classes." alt="" coords="15,5,114,34"/> </map> 
   </p>
   </div>

|


|sub_classes| Known Subclasses
==============================

:ref:`wx.StaticBoxSizer`, :ref:`wx.StdDialogButtonSizer`, :ref:`wx.WrapSizer`

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.BoxSizer.__init__`                                                    Constructor for a :ref:`wx.BoxSizer`.
:meth:`~wx.BoxSizer.AddSpacer`                                                   Adds non-stretchable space to the main orientation of the sizer only.
:meth:`~wx.BoxSizer.CalcMin`                                                     Implements the calculation of a box sizer's minimal.
:meth:`~wx.BoxSizer.GetOrientation`                                              Returns the orientation of the box sizer, either ``wx.VERTICAL`` or ``wx.HORIZONTAL``.
:meth:`~wx.BoxSizer.RepositionChildren`                                          Method which must be overridden in the derived sizer classes.
:meth:`~wx.BoxSizer.SetOrientation`                                              Sets the orientation of the box sizer, either ``wx.VERTICAL`` or ``wx.HORIZONTAL``.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.BoxSizer.Orientation`                                                 See :meth:`~wx.BoxSizer.GetOrientation` and :meth:`~wx.BoxSizer.SetOrientation`
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.BoxSizer(Sizer)

   **Possible constructors**::

       BoxSizer(orient=HORIZONTAL) -> None
       
   
   The basic idea behind a box sizer is that windows will most often be
   laid out in rather simple basic geometry, typically in a row or a
   column or several hierarchies of either.



   .. method:: __init__(self, orient=HORIZONTAL)

      Constructor for a :ref:`wx.BoxSizer`. 
                 

      `orient`  may be either of ``wx.VERTICAL`` or ``wx.HORIZONTAL`` for creating either a column sizer or a row sizer. 
                 


      :param `orient`: 
      :type `orient`: int




      :rtype: `None`     








   .. method:: AddSpacer(self, size)

      Adds non-stretchable space to the main orientation of the sizer only. 
                 

      More readable way of calling: ::

                  if boxSizer.IsVertical():

                      boxSizer.Add(0, size, 0)

                  else:

                      boxSizer.Add(size, 0, 0)


                 


      :param `size`: 
      :type `size`: int




      :rtype: :ref:`wx.SizerItem`








   .. method:: CalcMin(self)

      Implements the calculation of a box sizer's minimal. 
                 

      It is used internally only and must not be called by the user. Documented for information. 
                 

      :rtype: :ref:`wx.Size`








   .. method:: GetOrientation(self)

      Returns the orientation of the box sizer, either ``wx.VERTICAL`` or ``wx.HORIZONTAL``. 
                 

      :rtype: `int`








   .. method:: RepositionChildren(self, minSize)

      Method which must be overridden in the derived sizer classes. 
                 

      The implementation should reposition the children using the current total size available to the sizer ( ``m_size`` ) and the size computed by the last call to  :meth:`CalcMin` . 


                


      :param `minSize`: 
      :type `minSize`: wx.Size




      :rtype: `None`     







      .. versionadded:: 4.1/wxWidgets-3.1.3 ,
          before this version RecalcSizes() method not taking any arguments had to be overridden in the derived classes instead.   








   .. method:: SetOrientation(self, orient)

      Sets the orientation of the box sizer, either ``wx.VERTICAL`` or ``wx.HORIZONTAL``. 
                 


      :param `orient`: 
      :type `orient`: int




      :rtype: `None`     








   .. attribute:: Orientation

      See :meth:`~wx.BoxSizer.GetOrientation` and :meth:`~wx.BoxSizer.SetOrientation`