wxPython is a cross platform toolkit for creating desktop GUI applications. wxPython is a
blend of wxWidgets and Python programming library. With wxPython
developers can create applications on Windows, Mac and on various Unix systems.
It is a wrapper around wxWidgets, which is a mature cross platform C++ library.
wxPython is a Python wrapper for wxWidgets (which is written in C++), a popular cross-platform GUI toolkit. Developed by "Robin Dunn along with Harri Pasanen", wxPython is implemented as a Python extension module.
Like wxWidgets, wxPython is also a free software and can be downloaded from http://wxpython.org .
wxPython consists of the five basic modules.
1. wxPython Controls:
Control module contains all the widgets used in GUI application development. This module
provides the common widgets needed in graphical applications. like a Button, a
Toolbar, or a Notebook. Widgets are called controls under Windows OS.
2. wxPython Misc:
The Misc module contains of various classes and module functions
classes that are used for logging, application configuration, system settings,
working with display or joystick.
3. wxPython Core:
Principal modules in wxPython API include a Core module. It consists of wxObject class, which
is the base for all classes in the API.
The Core module consists of elementary classes that are used in
development. It also includes Sizers, which are used for widget layout, Events,
basic geometry classes like Point and Rectangle. The Graphics Device Interface (GDI) is a set of
classes used for drawing onto the widgets.
GDI stands for Graphics Device Interface.
The GDI is a set of classes used for drawing onto the widgets. This module contains classes for
manipulation of Fonts, Colors, Brushes, Pens or Images. wxPython API has GDI module.
The Windows module consists of various windows that form an application, for instance a Panel, a Dialog, a Frame, or a Scrolled Window.
All the container window classes are defined in Windows module.
wxPython widgets can be categorized
Top Level widget
Base Widgets: These widgets are called ancestors. These widgets
provides functionality to the derived widgets. They are usually not used
Top Level Widgets: These are the widgets that exist independently
of each others.
Containers: Containers contains other widget.
Dynamic Widgets: These are the widget that can be edited by
Static Widgets: These widgets cannot be edited by users. These
are used to show information.
Other Widgets: These widgets implement statusbar, toolbar and
menubar in an application.