git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@20357 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			100 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
=================================
 | 
						|
 Example Programs Using wxPython
 | 
						|
=================================
 | 
						|
 | 
						|
--------------------------------------------------
 | 
						|
 A survival guide for the post-wx-prefixed world.
 | 
						|
--------------------------------------------------
 | 
						|
 | 
						|
:Author: Patrick K. O'Brien
 | 
						|
:Contact: pobrien@orbtech.com
 | 
						|
:Date: $Date$
 | 
						|
:Revision: $Revision$
 | 
						|
 | 
						|
.. contents::
 | 
						|
 | 
						|
 | 
						|
Introduction
 | 
						|
============
 | 
						|
 | 
						|
If something hits you on the head, don't run around screaming that the
 | 
						|
sky is falling.  Instead, take a close look and see if it wasn't a
 | 
						|
"wx" prefix that hit you.  Apparently, they're dropping off wxPython
 | 
						|
class names like flies dropping dead in the scorching heat of a
 | 
						|
summer's day.
 | 
						|
 | 
						|
Yes, the world is changing, and even our little wxPython world must
 | 
						|
change with it.  Then again, I'm not fond of pesky summertime flies,
 | 
						|
and I'm not too upset that the "wx" prefixes are going to bite the
 | 
						|
dust.  I think it's for the best.  But, being the kind, considerate
 | 
						|
person that I am, I decided to write this guide to make the wx
 | 
						|
namespace transition easier for everyone, even Chicken Little.
 | 
						|
 | 
						|
.. sidebar:: Say what?
 | 
						|
 | 
						|
   If you have no idea what I mean by the "wx namespace transition,"
 | 
						|
   consider yourself lucky.  You can simply use these examples to
 | 
						|
   learn wxPython in its current state.  All you need to know is that
 | 
						|
   previous wxPython code used a slightly different syntax that some
 | 
						|
   folks (including me) considered ugly.  So we changed it.  And
 | 
						|
   that's when the sky starting falling...
 | 
						|
 | 
						|
Rather than simply **tell** you that everything will be okay, I
 | 
						|
decided to **show** you that everything will be okay.  To do that,
 | 
						|
I've created a bunch of example programs using the new wx package.  I
 | 
						|
hope you like them.
 | 
						|
 | 
						|
 | 
						|
Basic
 | 
						|
=====
 | 
						|
 | 
						|
It doesn't get much simpler than this.  Every wxPython program needs
 | 
						|
an application and a frame.  To encourage good coding habits, I've
 | 
						|
split them into separate modules.  They don't do much, but they're a
 | 
						|
good starting point.
 | 
						|
 | 
						|
I include a simple App class in the frame module because the PyCrust
 | 
						|
"wrapper" utility (``wrap.py``) only works with modules that contain
 | 
						|
an application class.  So including a simple one in each of your frame
 | 
						|
modules allows you to use the PyCrust runtime wrapper and debug your
 | 
						|
frames independent of your full application.
 | 
						|
 | 
						|
Here is the module (``frame.py``) that defines the frame class:
 | 
						|
 | 
						|
.. include:: ../samples/wx_examples/basic/frame.py
 | 
						|
   :literal:
 | 
						|
 | 
						|
And here is the module (``app.py``) that defines the application class
 | 
						|
and imports the frame from ``frame.py``:
 | 
						|
 | 
						|
.. include:: ../samples/wx_examples/basic/app.py
 | 
						|
   :literal:
 | 
						|
 | 
						|
 | 
						|
Hello
 | 
						|
=====
 | 
						|
 | 
						|
This program displays an image file (``wxPython.jpg``) inside a frame
 | 
						|
sized to match the graphic.
 | 
						|
 | 
						|
.. figure:: screenshots/hello-win98.png
 | 
						|
   :scale: 100
 | 
						|
 | 
						|
   Running ``hello.py`` on Windows.
 | 
						|
 | 
						|
.. figure:: screenshots/hello-linux.png
 | 
						|
   :scale: 100
 | 
						|
 | 
						|
   Running ``hello.py`` on Linux.
 | 
						|
 | 
						|
.. figure:: screenshots/hello-mac.png
 | 
						|
   :scale: 100
 | 
						|
 | 
						|
   Running ``hello.py`` on Mac OS X.
 | 
						|
 | 
						|
Here is the source code for ``hello.py``:
 | 
						|
 | 
						|
.. include:: hello/hello.py
 | 
						|
   :literal:
 | 
						|
 |