■ Toolkits like wxPython are by their very nature large and complex. Interactions between GUI controls are not always intuitive, and the entire process is determined by events, and responses to events, rather than a linear sequence of execution. Using tools like the PyCrust shell can greatly enhance your understanding of this event-driven environment.
■ PyCrust is just another Python shell, similar to the shells included with IDLE, Boa Constructor, PythonWin, and other development tools. However, PyCrust was created using wxPython, which is beneficial when you are developing programs with wxPython. In particular, you won't have problems with conflicting event loops, and you can manipulate all aspects of your program at runtime within PyCrust's shell and namespace viewer.
■ Because PyCrust is part of the wxPython distribution, it is installed along with wxPython, including all the source code. That makes PyCrust easy to use, and eases the learning curve of figuring out how to provide introspective functionality in your own programs.
■ In addition, the modular design of the Py package makes it very easy for you to pick and choose the modules that would benefit your program the most, such as source editing, namespace browsing, or shell functionality.
■ PyCrust reduces the learning curve associated with wxPython, and helps you grasp the finer points of your own program's runtime behavior.
In the next chapter, we'll use the knowledge we've learned about wxPython, and provide some practical advice about how to structure your GUI programs without getting tangled in knots.
Was this article helpful?