Manning Logo
Home | Ordering Info | Shopping Cart | Manage My Account | Login
Attention customers: online shopping is now available exclusively through our main website: http://www.manning.com. Thank you.
wxPython in Action

Inside the book

About this book Sample Chapters Table of Contents Preface Source Code Author Online Forum

Manning Blog

Why small is sweet?

Author Blogs

Dave Crane more...

Author Calendar

Upcoming Events

Catalog

Java .NET Perl XML All by Subject All by Title

About...

Manning Contact Us Ordering FAQs ebooks Covers Sandbox Forums Distributors Manning Early Access Program (MEAP) Affiliate Program Academia/Publicity User Group Program Press Releases Jobs

Manning Publications Co.
209 Bruce Park Avenue
Greenwich, CT 06830

wxPython in Action
Noel Rappin and Robin Dunn

March, 2006 | 584 pages
ISBN: 1-932394-62-1
$25.00 PDF ebook  
$49.95 Softbound print book  

Preface

The wxPython part of the story actually begins in 1995, with Harri Pasanen and Robin Dunn. Robin, who is one of the co-authors of the book, wrote the following about the history of wxPython, and we decided that it was a story better told in his own voice than paraphrased:

In 1995 I was working on a project that needed a GUI to be deployed on HP-UX systems, but my boss also wanted to show something at a trade show on his Windows 3.1 laptop in a few weeks’ time. So I started searching for a cross platform C++ GUI toolkit to do a prototype with. In those days it wasn’t easy without Google, but I found that there were several commercial alternatives available (none of which is still available today) and lots of toolkits with freely available source.

While evaluating each of the free toolkits for my immediate needs and deciding which of the commercial offerings would be best for our long-term needs, I ran into the term “Python bindings” on the wxWidgets website (in this case “binding” refers to the connection between the Python language and the wxWidgets toolkit). Full of curiosity at how one would “bind” a software toolkit to a reptile (I had never heard of the Python language up to this point), I clicked on the link, and the next link, and the next, until I finally ended up at the Python 1.2 Tutorial document. Three hours later I was converted from being the local C++ guru to a Python evangelist bugging all the developers in the immediate vicinity and showing them the cool new thing I had discovered.

Instead of working on my prototype, I started working with Harri Pasanen in Finland to advance the Python bindings for wxWidgets, otherwise known as wxPython 0.2, with some help from Edward Zimmerman. The mailing list announcement of that release is archived here: (http://www.google.com/groups?selm=PA.95Jul27032244%40ok.tekla.fi&oe=UTF-8). We got it to be functional enough that I could build the prototype for my boss using Python, but wxPython was a nightmare to maintain and to enhance because everything (C++ extension module code, Python proxy modules, build system, etc.) was done by hand, and little changes or enhancements to wxWidgets would often require changes to several places in wxPython code to add the support for the enhancement or fix to wxPython. When it reached many tens of thousands of lines of code it became very awkward and fragile to continue working in that manner. Add to that the fact that there was no central source code repository (this was also before SourceForge’s time) so we were emailing code changes to each other—you can get an inkling of the difficulties involved.

About that time, I had to start doing “real” work again as my main project was building up from a gleam in the eye to a full-force development project with several developers under my control with design meetings and deadlines, and I found myself fully back in the C++ world again, although I was able to use Python for some of the build and test scripts for the project. Harri wasn’t able to spend any time on it either, so wxPython development slowed to less than a crawl and eventually stopped.

In 1997 I discovered SWIG (Simple Wrapper and Interface Generator), and realized that it could help with all the maintenance issues that had pained us in the wxPython project. In three or four weeks of spare time using SWIG, I almost completely reimplemented everything in wxPython that had taken several weeks of full-time work on my part and several months of part-time work for Harri doing it by hand. After getting sidetracked on another project for a while, I discovered that wxWidgets 2.0 was in active development, but had a whole new architecture, so I had to do it all again. But this time the new architecture simplified things enough that it took only about a week’s worth of spare time! So in the summer of 1998 the first “modern version” of wxPython was released and has been in active development ever since. The first announcement is archived here: (http://groups.yahoo.com/group/python-announce-list/message/95).

The rest is, as they say, history. It’s important to note that SWIG is allowing me to easily create and maintain literally hundreds of thousands of lines of code, so much of the credit for the vastness of wxPython’s feature set deserves to go to David Beazley and the other developers contributing to that project.

With this book, we hope to share with you our excitement about wxPython, a toolkit that is truly unique in the ease that it brings to GUI application development. We wrote it with the goal of creating a useful resource for both the novice and the pro.

DESCRIPTION

If you add the powerful wxWidgets toolkit to Python, you get wxPython: an open source GUI framework with a well-deserved reputation for simplicity and ease of use. wxPython lets you build cross-platform applications that have robust, highly functional graphical user interfaces.

The first book on the subject, wxPython in Action offers a friendly tutorial to get you started, a detailed guide to best practices, and an extensive reference for wxPython’s large widget library. It covers an impressive amount of information delivered at a measured pace, encouraging experimentation and learning by doing.

The book’s direct, no-nonsense style makes for an easy introduction to the concepts. It offers a complete discussion of when, why, and how to use the many widgets in the toolkit. And it includes dozens of handy reference tables so you can easily look up object properties, methods, and events. Co-authored by wxPython creator Robin Dunn, wxPython in Action is the authoritative book on the subject.

What’s Inside

  • Create professional GUIs with wxPython
  • Program in an event-oriented framework
  • Use wxPython sizers for your layout
  • Refactor and unit test to improve your programs
  • A reference to wxPython’s powerful widget set

ABOUT THE AUTHORS...

Noel Rappin is a senior software engineer at Motorola and a leading Python practitioner. He has a Ph.D. from the Georgia Institute of Technology and lives in Chicago, IL.

A veteran of the software industry for almost two decades, Robin Dunn is the creator and maintainer of wxPython. Geographically, he is to be found in or between Portland, OR and Vancouver, WA.

About Manning's Early Access Program (MEAP)

Complete ebook now avaliable!

Chapter 1 Welcome to wxPython
Chapter 2 Giving your wxPython program a solid foundation
Chapter 3 Working in an event-driven environment
Chapter 4 Making wxPython easier to handle with PyCrust
Chapter 5 Creating your blueprint
Chapter 6 Working with the basic building blocks
Chapter 7 Working with the basic controls
Chapter 8 Putting widgets in frames
Chapter 9 Giving users choices with dialogs
Chapter 10 Creating and using wxPython menus
Chapter 11 Placing widgets with sizers
Chapter 12 Manipulating basic graphical images
Chapter 13 Building list controls and managing items
Chapter 14 Coordinating the grid control
Chapter 15 Climbing the tree control
Chapter 16 Incorporating HTML into your application
Chapter 17 The wxPython printing framework
Chapter 18 Using other wxPython functionality

wxPython in Action is now available through the Manning Early Access Program (MEAP), our exclusive subscription program that delivers chapters long before the hard copy hits the shelves! MEAP costs nothing extra but you get what you need now! MEAP gives you two ordering options:

wxPython in Action MEAP ebook ($25.00) - Download individual PDF chapters as they are finished + the complete PDF ebook edition when it's ready.

wxPython in Action MEAP E+P ($49.95) - Download individual PDF chapters as they are finished + the complete PDF ebook edition + the 620-page print edition upon release, direct from the bindery.

Home | Catalog | Privacy Policy | About Manning

© 2003-2006 Manning Publications Co.