This is just a placeholder to remind me that the relation between wxPython and PythonCard needs to be spelled out.
PythonCard requires Python 2.3 and wxPython 2.5 or later.
The short answer is that if you are already comfortable with the wxWidgets/wxPython API and tools such as wxDesigner, wxGlade, and Boa, then PythonCard probably doesn't provide you any additional benefits since it has a simplified API at the expense of giving up many wxPython capabilities. See the samples and tools included with PythonCard, which are all made with PythonCard to see specific examples of the kinds of things you can do.
You can't easily generate layouts or code using tools such as Boa, wxDesigner, or wxGlade and use them with PythonCard.
Most of PythonCard framework that is exposed to user-code uses subclasses of wxPython classes, so in general, if PythonCard can't natively do what you want you have the option of mixing in some raw wxPython code to solve a problem.
PythonCard benefits:
- components instead of plain controls - introspection can be used to find out attributes and events a component supports, as well as the normal method list
- use of "dot notation" attributes instead of Get/Set methods
- parts of the wxPython framework that aren't needed in a typical program are hidden
- reduced learning curve
- auto-event binding
- runtime tools: shell, message watcher, namespace viewer, property editor
- tools include a source code and layout editor
- standardized event names and handlers
- standardized naming conventions for methods (i.e. mixedCase)
- convenience events like closeField, restore, deactivate
BitmapCanvas component and turtle graphics module for drawing
- over 50 samples and tools are part of the distribution
- in addition to the samples and tools which you can use as the basis for your own programs there are templates for common windows and dialogs that you can easily include in your own applications
- add more stuff here