- wxPython Tutorial
- wxPython - Home
- wxPython - Introduction
- wxPython - Environment
- wxPython - Hello World
- wxPython - GUI Builder Tools
- wxPython - Major Classes
- wxPython - Event Handling
- wxPython - Layout Management
- wxPython - Buttons
- wxPython - Dockable Windows
- Multiple Document Interface
- wxPython - Drawing API
- wxPython - Drag and Drop
- wxPython Resources
- wxPython - Quick Guide
- wxPython - Useful Resources
- wxPython - Discussion
wxPython - Panel Class
Widgets such as button, text box, etc. are placed on a panel window. wx.Panel class is usually put inside a wxFrame object. This class is also inherited from wxWindow class.
Although controls can be manually placed on panel by specifying the position in screen coordinates, it is recommended to use a suitable layout scheme, called sizer in wxPython, to have better control over the placement and address the resizing issue.
In wxPanel constructor, the parent parameter is the wx.Frame object in which the panel is to be placed. Default value of id parameter is wx.ID_ANY, whereas the default style parameter is wxTAB_TRAVERSAL.
wxPython API has the following sizers, using which controls are added into a panel object −
S.N. | Sizers & Description |
---|---|
1 | wx.BoxSizer Widgets are arranged in a vertical or horizontal box |
2 | wx.StaticBoxSizer Adds a staticbox around the sizer |
3 | wx.GridSizer One control each added in equal sized cells of a grid |
4 | wx.FlexGridSizer Control added in cell grid can occupy more than one cell |
5 | wx.GridBagSizer Controls explicitly positioned in a grid and spanning over more than one row and/or column |
Sizer object is applied as the layout manager of the panel using SetSizer() method of wxPanel class.
wx.Panel.SetSizer(wx.???Sizer())
Panel object in turn is added to the top level frame.