Phoenix Logo

phoenix_title wx.Panel

A panel is a window on which controls are placed.

It is usually placed within a frame. Its main feature over its parent class wx.Window is code for handling child windows and TAB traversal. Since wxWidgets 2.9, there is support both for TAB traversal implemented by wxWidgets itself as well as native TAB traversal (such as for GTK 2.0).

events Events Emitted by this Class

Handlers bound for the following event types will receive a wx.NavigationKeyEvent parameter.

  • EVT_NAVIGATION_KEY: Process a navigation key event.

Note

By default, a panel has the same colouring as a dialog.

Note

Tab traversal is implemented through an otherwise undocumented intermediate ControlContainer class from which any class can derive in addition to the normal wx.Window base class. Please see /containr.h and /panel.h to find out how this is achieved.

Note

if not all characters are being intercepted by your OnKeyDown or OnChar handler, it may be because you are using the TAB_TRAVERSAL style, which grabs some keypresses for use by child controls.

See also

wx.Dialog


class_hierarchy Class Hierarchy

Inheritance diagram for class Panel:


method_summary Methods Summary

__init__ Default constructor.
AcceptsFocus This method is overridden from wx.Window.AcceptsFocus and returns True only if there is no child window in the panel which can accept the focus.
Create Used for two-step panel construction.
InitDialog Sends a wx.InitDialogEvent, which in turn transfers data to the dialog via validators.
Layout See wx.Window.SetAutoLayout : when auto layout is on, this function gets called automatically when the window is resized.
SetFocus Overrides wx.Window.SetFocus .
SetFocusIgnoringChildren In contrast to SetFocus (see above) this will set the focus to the panel even if there are child windows in the panel.

api Class API



class wx.Panel(Window)

Possible constructors:

Panel()

Panel(parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize,
      style=TAB_TRAVERSAL, name=PanelNameStr)

A panel is a window on which controls are placed.


Methods



__init__(self, *args, **kw)

overload Overloaded Implementations:



__init__ (self)

Default constructor.



__init__ (self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=TAB_TRAVERSAL, name=PanelNameStr)

Constructor.

Parameters:
  • parent (wx.Window) – The parent window.
  • id (wx.WindowID) – An identifier for the panel. ID_ANY is taken to mean a default.
  • pos (wx.Point) – The panel position. The value wx.DefaultPosition indicates a default position, chosen by either the windowing system or wxWidgets, depending on platform.
  • size (wx.Size) – The panel size. The value wx.DefaultSize indicates a default size, chosen by either the windowing system or wxWidgets, depending on platform.
  • style (long) – The window style. See wx.Panel.
  • name (string) – Window name.

See also

Create





AcceptsFocus(self)

This method is overridden from wx.Window.AcceptsFocus and returns True only if there is no child window in the panel which can accept the focus.

This is reevaluated each time a child window is added or removed from the panel.

Return type:bool


Create(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=TAB_TRAVERSAL, name=PanelNameStr)

Used for two-step panel construction.

See wx.Panel for details.

Parameters:
Return type:

bool



InitDialog(self)

Sends a wx.InitDialogEvent, which in turn transfers data to the dialog via validators.



Layout(self)

See wx.Window.SetAutoLayout : when auto layout is on, this function gets called automatically when the window is resized.

Return type:bool


SetFocus(self)

Overrides wx.Window.SetFocus .

This method uses the (undocumented) mix-in class ControlContainer which manages the focus and TAB logic for controls which usually have child controls.

In practice, if you call this method and the control has at least one child window, the focus will be given to the child window.



SetFocusIgnoringChildren(self)

In contrast to SetFocus (see above) this will set the focus to the panel even if there are child windows in the panel.

This is only rarely needed.