Book Review: wxPython in Action by Noel Rappin and Robin Dunn
Published April 15, 2006
One of the interesting frameworks the Python programming community provides is an open source graphical user interface (GUI) framework called wxPython. Like other GUI frameworks, wxPython has an extensive library of widgets and controls for building windowed applications. In addition to this, wxPython gives a programmer the ability to write one GUI application that will run on all three major operating systems: Microsoft Windows, Mac OS X, and Linux. Not only that, but depending on what platform the code is running, it will automatically morph itself to the look and feel of that platform.
While this technology is exciting, learning how to use it is an entirely different matter. As anyone who has tried to use wxPython knows, the documentation for it is rather sparse. So much so, that the recommended approach seems to consist of copying code from examples within the wxPython distribution, and then coding and experimenting with it to divine the inner workings of all its parameters and effects. This approach was way too tedious and time-consuming for me, so I put off learning this corner of Python - until now.
Recently this subject has finally gotten its due, thanks to a book and ebook published by Manning Publications entitled wxPython in Action. The book was written by Noel Rappin and Robin Dunn. Noel is a senior software engineer for Motorola, and Robin is the creator and maintainer of wxPython; two people who have had extensive experience using and supporting the wxPython platform.
The book is divided into three major parts: the first gives an introduction to the basic structure and function of a wxPython GUI application. It looks at some of the basic widgets, discusses the principles of event-driven programming and explains the use of a tool called PyCrust to analyze GUI-based applications. The first part also outlines the use of the Model/View design pattern, and looks at re-factoring and testing GUI applications. Part 1 then ends with a step-by-step development of a sketch pad application.
Part 2 gives more detail about the implementation and use of the GUI elements briefly discussed in Part 1. Separate chapters are devoted to basic controls (ie. text boxes, buttons, etc), standard frames and dialogs, and GUI layout and drawing.
Part 3 examines some advanced elements like list, grid and tree controls. It also looks at incorporating HTML and printing into wxPython applications. Finally, Part 3 concludes with topics on implementing cut and paste, drag and drop, and multi-threading functions.
With few exceptions, the book takes its title to heart. Offering a very fast, cogent, and concise explanation of the many widgets and tools necessary to implement a polished GUI application. One of the great features of this "in Action" book is the nesting of a functional index (in the form of frequently asked questions) within the table of contents. This makes recipes for common GUI widgets and techniques easy to find. For example, if one needed to quickly learn how to enter numbers, look up the chapter title "Working with the basic controls", then look under the subheading "Entering and displaying numbers." Under that subheading, one will find frequently asked questions like: 'How do I make a slider?' or 'How do I make those neat up/down arrow buttons?'.
- Book Review: wxPython in Action by Noel Rappin and Robin Dunn
- Published: April 15, 2006
- Type: Review
- Section: Sci/Tech
- Filed Under: Sci/Tech: Software, Sci/Tech: Programming, Sci/Tech: Computers, Review, Books: Reference, Books: Nonfiction, Books: Computers and Internet
- Writer: Greg
- Greg's BC Writer page
- Greg's personal site
- Spread the Word
- Like this article?
- Email this
Save to del.icio.us
- RSS Feeds
- All RSS Feeds (240+)
Comments on this article
BC articles by Greg
Sci/Tech: Software
Sci/Tech: Programming
Sci/Tech: Computers
Review
Books: Reference
Books: Nonfiction
Books: Computers and Internet
All Sci/Tech Articles
Greg's personal weblog
All Review articles
All BC articles
All BC Comments



