[Tutor] ANN: PythonCard Prototype 0.4.1

Patrick K. O'Brien pobrien@orbtech.com
Thu, 16 Aug 2001 19:43:26 -0500

I'm sending this on behalf of the PythonCard project. Enjoy.

Patrick K. O'Brien
"I am, therefore I think."

PythonCard is a software construction kit (in the spirit of Apple's
HyperCard) written in Python.

You can download the latest release at:

Samples included in the latest release: conversions, dialogs, findfiles,
minimal, proof, searchexplorer, sounds, SourceForgeTracker, tictactoe,
turtle, widgets, worldclock

To see screenshots of some of the samples, visit:

PythonCard home page

SourceForge summary page

Mailing list

PythonCard requires Python 2.1 or later and wxPython 2.3.x. wxPython is
available at http://www.wxpython.org/

PythonCard relies on wxPython, it will support the Macintosh once wxPython
has been ported to the Mac.

PyCrust 0.5.2
PyCrust by Patrick K. O'Brien is included as part of the PythonCardPrototype
releases. If you would like to find our more about PyCrust or get a separate
distribution, please visit the home page at

Changes since release 0.3.1 (2001-08-07):

The Property Editor is still only able to display widget
attributes, you'll have to use the Shell to actually change
an attribute. The Property Editor will work in the next
release, and this time I mean it. :)

Release 0.4.1 2001-08-16
updated debug.py and pycrustrc.py to support PyCrust 0.5.2
  due to changes between PyCrust 0.5.2 and earlier versions you
  must use the latest version of Pycrust with PythonCard, which
  is included in the release .zip for convenience
added 'border' attribute to TextField and its subclasses to support
  a 'none' wxNO_BORDER option. updated worldclock and
  test_widgets.py to show TextField with a border of 'none' used
  in place of StaticText
added empty bitmap support. Image and ImageButton now use
  the Bitmap class rather than an explicit wxBitmap. the convention
  is that if the file is '' then an empty bitmap is created.
  see SourceForgeTracker for an example of the use of empty bitmaps
  if the layout doesn't look right on Linux or Solaris, you can use
  the SourceForgeTracker.original.rsrc.py file by renaming it to
fixed worldclock and tictactoe samples to use Bitmap

Release 0.4 2001-08-14
added components dictionary
  find/findByName, createWidget, and deleteWidget were
  replaced by a dictionary, so that widgets on a background
  can be accessed as:
  see the samples for numerous examples of the new usage.
widgets now use dot notation to access their attributes
  print button1.label     # get
  button1.label = 'hello' # set
  This was a major revision to widget.py that also impacted
  many other parts of the framework, so if you have any samples
  of your own done with release 0.3.1 or earlier, you'll need
  to update your code.
updated all samples to use the new dot notation
all widget attributes that can only be set at initialization
  will now throw an AttributeError if you try and change
  them. for example button1.name = 'bob' is not legal
  so you get:
  'AttributeError: name attribute is read-only'
*** note that while updating all the widget attributes to dot
  notation I realized that we had never cleaned up the 'selected'
  attribute for List, RadioGroup, and Choice, so be aware that
  the name and behavior of 'selected' will probably change in
  the next release
PyCrust is now included as a separate package
  numerous changes were made to the PyCrust shell, see the
  PyCrust docs for more information.
fixed backgroundColor and foregroundColor in class Background
  the widgets sample has a button to change the backgroundColor
  to show off this fix.
added pycrustrc.py files
  whatever python code is in these files will be executed when the
  shell is first launched. there is a default pycrustrc.py in the
  package directory. there is another example in the turtle sample
changed pythoncard.config.py
  added options to set the position and size of all the "debug"
  windows: Message Watcher, Property Editor, Shell
added pythoncard.user.config.py
  this file will override pythoncard.config.py if it exists
  you should copy pythoncard.user.config.py and
  update the position of each window for your own screen
  dimensions; you can update the shell size too
added defaultStackPosition option
  you can add a key:value line to pythoncard.user.config.py
  to override the stack position that a PythonCard app may or
  may not specify. The most common would be something like
  'defaultStackPosition':(5, 5),
  to force the window to the top-left of the screen (I prefer
  this over (0, 0) myself.
added 'Debug' menu
  if any of the 'debug' windows are requested when an application
  is started, then all of the windows will be created, but only
  the requested ones will be shown initially. you can choose
  the window name from the Debug menu to show/hide the window.
added an About PythonCard... menu item to the Debug menu
  displays version numbers and PythonCard project info
added SourceForgeTracker sample
  downloads XML from SourceForge tracker database to display
  Bug Reports and Feature Requests for the following projects:
  PyChecker, PyCrust, Python, PythonCard, wxPython. Additional
  projects can be added.
added conversions sample
  does Fahrenheit <-> Celsius and English <-> Morse Code
  conversions with a generic framework, so other conversions
  can be added
added tutorial.txt to docs
applications can now use the .pyw extension
  if you don't want an application to have a console window,
  then rename the application to .pyw, but don't change the
  file reference in the .rsrc.py file, leave that as .py
  as an example, you can change worldclock.py to worldclock.pyw

Kevin Altis

wxpython-users mailing list