Table of Contents
Preface
Chapter 1: Getting Started with wxPython
Chapter 2: Responding to Events
Chapter 3: Basic Building Blocks of a User Interface
Chapter 4: Advanced Building Blocks of a User Interface
Chapter 5: Providing Information and Alerting Users
Chapter 6: Retrieving Information from Users
Chapter 7: Window Layout and Design
Chapter 8: Drawing to the Screen
Chapter 9: Design Approaches and Techniques
Chapter 10: Creating Components and Extending Functionality
Chapter 11: Using Threads and Timers to Create Responsive Interfaces
Chapter 12: Building and Managing Applications for Distribution
Index
- Chapter 1: Getting Started with wxPython
- Introduction
- The application object
- The main frame
- Understanding the window hierarchy
- Referencing controls
- Using Bitmaps
- Adding icons to Windows
- Utilizing Stock IDs
- Accessing the clipboard
- Supporting drag and drop
- Two-stage widget creation
- Understanding inheritance limitations
- Chapter 2: Responding to Events
- Introduction
- Handling events
- Understanding event propagation
- Handling Key events
- Using UpdateUI events
- Playing with the mouse
- Creating custom event classes
- Managing event handlers with EventStack
- Validating input with validators
- Handling Apple events
- Chapter 3: Basic Building Blocks of a User Interface
- Introduction
- Creating Stock Buttons
- Buttons, buttons, and more buttons
- Offering options with CheckBoxes
- Using the TextCtrl
- Providing choices with the Choice control
- Adding Menus and MenuBars
- Working with ToolBars
- How to use PopupMenus
- Grouping controls with a StaticBox
- Chapter 4: Advanced Building Blocks of a User Interface
- Introduction
- Listing data with a ListCtrl
- Browsing files with the CustomTreeCtrl
- Creating a VListBox
- StyledTextCtrl using lexers
- Working with tray icons
- Adding tabs to a Notebook
- Using the FlatNotebook
- Scrolling with a ScrolledPanel
- Simplifying the FoldPanelBar
- Chapter 5: Providing Information and Alerting Users
- Introduction
- Showing a MessageBox
- Providing help with ToolTips
- Using SuperToolTips
- Displaying a BalloonTip
- Creating a custom SplashScreen
- Showing task progress with the Progress dialog
- Creating an AboutBox
- Chapter 6: Retrieving Information from Users
- Introduction
- Selecting files with a FileDialog
- Searching text with a FindReplaceDialog
- Getting images with ImageDialog
- Using the Print dialogs
- Chapter 7: Window Layout and Design
- Introduction
- Using a BoxSizer
- Understanding proportions, flags, and borders
- Laying out controls with the GridBagSizer
- Standard dialog button layout
- Using XML resources
- Making a custom resource handler
- Using the AuiFrameManager
- Chapter 8: Drawing to the Screen
- Introduction
- Screen drawing
- Drawing shapes
- Utilizing SystemSettings
- Using a GraphicsContext
- Drawing with RendererNative
- Reducing flicker in drawing routines
- Chapter 9: Design Approaches and Techniques
- Introduction
- Creating Singletons
- Implementing an observer pattern
- Strategy pattern
- Model View Controller
- Using mixin classes
- Using decorators
- Chapter 10: Creating Components and Extending Functionality
- Introduction
- Customizing the ArtProvider
- Adding controls to a StatusBar
- Making a tool window
- Creating a SearchBar
- Working with ListCtrl mixins
- StyledTextCtrl custom highlighting
- Creating a custom control
- Chapter 11: Using Threads and Timers to Create Responsive Interfaces
- Introduction
- Non-Blocking GUI
- Understanding thread safety
- Threading tools
- Using Timers
- Capturing output
- Chapter 12: Building and Managing Applications for Distribution
- Introduction
- Working with StandardPaths
- Persisting the state of the UI
- Using the SingleInstanceChecker
- Exception handling
- Optimizing for OS X
- Supporting internationalization
- Distributing an application