wxPython 2.8 Application Development Cookbook


wxPython 2.8 Application Development Cookbook
eBook: $23.99
Formats: PDF, PacktLib, ePub and Mobi formats
$20.39
save 15%!
Print + free eBook + free PacktLib access to the book: $63.98    Print cover: $39.99
$39.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Support
Sample Chapters
  • Develop flexible applications in wxPython.
  • Create interface translatable applications that will run on Windows, Macintosh OSX, Linux, and other UNIX like environments.
  • Learn basic and advanced user interface controls.
  • Packed with practical, hands-on cookbook recipes and plenty of example code, illustrating the techniques to develop feature rich applications using wxPython.

Book Details

Language : English
Paperback : 308 pages [ 235mm x 191mm ]
Release Date : December 2010
ISBN : 1849511780
ISBN 13 : 9781849511780
Author(s) : Cody Precord
Topics and Technologies : All Books, Application Development, Cookbooks, Open Source, Python

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 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

                          Cody Precord

                          Cody Precord is a Software Engineer based in Minneapolis, MN, USA. He has been designing and writing systems and application software for AIX, Linux, Windows, and Macintosh OSX for the last 10 years using primarily C, C++, Perl, Bash, Korn Shell, and Python. The constant need to be working on multiple platforms naturally led Cody to the wxPython toolkit, which he has been using intensely for that last 5 years. Cody has been primarily using wxPython for his open source project Editra which is a cross platform development tool. He is interested in promoting cross platform development practices and improving usability in software.

                          Sorry, we don't have any reviews for this title yet.

                          Code Downloads

                          Download the code and support files for this book.


                          Submit Errata

                          Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


                          Errata

                          - 5 submitted: last submission 07 Jan 2014

                          Errata type: Others | Page number: 38

                          Our TextFrame class has three menu items in its Edit Menu that will be managed by our OnUpdateUI event handler. In OnUpdateUI, ....... should be: Our TextFrame class has three menu items in its Edit Menu that will be managed by our OnUpdateEditMenu event handler. In OnUpdateEditMenu, ......

                           

                          Errata type: Code | Page number: 196

                          elif evt_id == wx.ID_OK: appears twice. The second appearance should be elif evt_id == wx.ID_CANCEL:

                           

                          Errata type: Typo | Page number: 168

                          Original:
                          """
                          super(SlideShowPanel, self).__init__(parent)
                          """

                          Revise to: (corrected version)
                          """
                          super(ImageCanvas, self).__init__(parent)
                          """

                           

                          Errata type: Code | Page number: 13

                          The sample code on Page 13 should be updated as follows (change Frame to Panel and add '.panel')

                          Original:
                          """
                          print "\nFrame GetChildren:"
                          for child in self.GetChildren():
                          """

                          Revised:
                          """
                          print "\nPanel GetChildren:"
                          for child in self.panel.GetChildren():

                          Errata type: Code | Page numbers: 243

                          The line: return self.funct(*args, **kwargs)
                          should be replaced by: return funct(*args, **kwargs)

                           

                           


                           

                           

                          Sample chapters

                          You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                          Frequently bought together

                          wxPython 2.8 Application Development Cookbook +    Getting Started with Eclipse Juno =
                          50% Off
                          the second eBook
                          Price for both: €29.90

                          Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                          What you will learn from this book

                          • Set up the wx main frame by adding your own Frame class to the application
                          • Create two stage widgets by using a three step process
                          • Set up an event handler, customize, receive and handle events by using custom controls and event propagation
                          • Create tooltips with rich content and add tooltips to controls
                          • Retrieve information from users using common Dialogs
                          • Enhance design and layout, hide and show controls dynamically during runtime by using sizers
                          • Create a custom XRC resource handler class to use custom widget classes in XRC
                          • Simplify window layout using the SizedControls library
                          • Draw basic shapes in a Device Context and draw gradients with ease by using a GraphicsContext
                          • Design a custom dialog class
                          • Make multi-threaded wxPython applications
                          • Capture output from other applications and display it in a wxPython GUI
                          • Access platform specific application and resource directories using wxStandardPaths
                          • Embed images into python files using wxPython's embedded image tool and classes
                          • Add robust exception handling to an application
                          • Bundle a wxPython application for distribution making your applications interface translatable

                          In Detail

                          In today’s world of desktop applications there is a great amount of incentive to be able to develop applications that can run in more than one environment. Currently there are a handful of options available for cross platform frameworks to develop desktop applications in Python. wxPython is one such cross- platform GUI toolkit for the Python programming language. It allows Python programmers to create programs with a complete, highly functional graphical user interface, simply and easily. wxPython code style has changed quite a bit over the years, and gotten much more Pythonic. The examples you will find in this book are right up to date and reflect this change in style.
                          This cookbook provides you with the latest recipes to quickly create robust, reliable, and reusable wxPython applications. These recipes will guide you from writing simple, basic wxPython scripts all the way through complex concepts, and also feature various design approaches and techniques in wxPython.

                          The book starts off by covering a variety of topics from the most basic requirements of a wxPython application to some of the more in depth details of the inner workings of the framework laying the foundation for any wxPython application. It then explains event handling, basic and advanced user interface controls, designing and layout, creating dialogs, components and extending functionality, and so on. We conclude by learning how to build and manage applications for distribution.
                          For each of the recipes, there is an introductory example, then more advanced examples, and plenty of example code to develop and manage user-friendly applications. For more experienced developers, most recipes also include additional discussion of the solution, allowing you to further customize and enhance the component.

                          Quickly create robust, reliable, and reusable wxPython applications

                          Approach

                          Written in cookbook style, this book offers learning and techniques through recipes. It contains step-by-step instructions for developers who want to build feature-rich desktop applications in wxPython. The book is designed in such a way that you can refer to things chapter by chapter, and read them in no particular order.

                          Who this book is for

                          This book is written for python programmers wanting to develop GUI applications. Basic knowledge of Python is required.

                          Code Download and Errata
                          Packt Anytime, Anywhere
                          Register Books
                          Print Upgrades
                          eBook Downloads
                          Video Support
                          Contact Us
                          Awards Voting Nominations Previous Winners
                          Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                          Resources
                          Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software