Acknowledgments
Introduction
- Who is this book for?
- About the Author
- Conventions
- Requirements
- Integrated Development Environments (IDEs)
- Book Source Code
- Reader Feedback
- Errata
Chapter 1 - An Intro to wxPython
- What is a GUI?
- Hello World
- Hello with Classes
- Events
- Absolute Positioning vs Sizers
- Wrapping Up
Chapter 2 - Creating an Image Viewer
- Finding the Right Widget
- Displaying an Image
- Making Working Buttons
- Loading an Image
- Wrapping Up
Chapter 3 - Enhancing the Image Viewer
- Opening a Folder
- Adding New Buttons
- Hooking up Previous / Next
- Playing a Folder
- Switching to PubSub
- Other Notes on PubSub
- Wrapping Up
Chapter 4 - Creating a Database Viewer
- Installing SQLAlchemy
- Installing ObjectListView
- Creating the Database Model
- Populating the Database
- Creating a Database Viewer
- Wrapping Up
Chapter 5 - Creating a Database Editor
- Prerequisites
- Model - View - Controller
- The Model
- The View
- The Controller
- Editing the Database with a UI
- Connecting the View and Controller
- Wrapping Up
Chapter 6 - The Humble Calculator
- Figuring Out the Logic
- Is eval() Evil?
- Designing the Calculator
- Creating the Initial Calculator
- Using a Validator
- Creating a Better eval()
- Wrapping Up
Chapter 7 - Creating a Tarball Archiver
- Creating a Command Line Interface
- Archiving Multiple Items
- Adding a GUI
- Wrapping Up
Chapter 8 - Creating an MP3 Tag Editor
- Finding an MP3 Package
- Designing the MP3 Tagger
- Creating the Main Application
- Editing MP3s
- Adding New Features
- Wrapping Up
Chapter 9 - Creating an Application for NASA’s API
- Getting Setup
- Using NASA’s API
- Designing the User Interface
- Creating the NASA Search Application
- The Download Dialog
- Adding Advanced Search
- Wrapping Up
Chapter 10 - Creating a PDF Merger / Splitter Utility
- Installing PyPDF2
- Designing the Interface
- Creating the Application
- Using Threads in wxPython
- Enhancing PDF Merging with Threads
- Wrapping Up
Chapter 11 - Creating a File Search Utility
- Designing Your File Search Utility
- Creating the File Search Utility
- The Text Search Utility
- Installing the Dependencies
- Designing a Text Search Utility
- Creating a Text Search Utility
- Wrapping Up
Chapter 12 - Creating an FTP Application
- Designing the FTP Client
- Creating Your First Prototype
- Refactoring the Code
- Wrapping Up
Chapter 13 - Creating an XML Editor
- The lxml Package
- Designing the Main App
- Introducing the wx.TreeCtrl
- Creating the Basic User Interface
- Creating an XML Editor
- Boomslang XML
- Wrapping Up
Chapter 14 - Distributing Your Application
- Installing PyInstaller
- Generating an Executable
- The spec file
- Creating Executables for Mac
- Creating Executables for Linux
- Learning More About PyInstaller
- What About Installers?
- Creating an Installer with Inno Setup
- Code Signing
- Wrapping Up
Appendix A - The wxPython Demo
- Learning to Use the Demo
- Modifying Demo Code
- Extracting Demo Code
- Wrapping Up
Appendix B - The Widget Inspection Tool
- Using the Widget Inspection Tool
- Wrapping Up
