Book Image

wxPython Application Development Cookbook

By : Cody Precord
Book Image

wxPython Application Development Cookbook

By: Cody Precord

Overview of this book

wxPython is a GUI toolkit for the Python programming language built on top of the cross-platform wxWidgets GUI libraries. wxPython provides a powerful set of tools that allow you to quickly and efficiently building applications that can run on a variety of different platforms. Since wxWidgets provides a wrapper around each platform’s native GUI toolkit, the applications built with wxPython will have a native look and feel wherever they are deployed. This book will provide you with the skills to build highly functional and native looking user interfaces for Python applications on multiple operating system environments. By working through the recipes, you will gain insights into and exposure to creating applications using wxPython. With a wide range of topics covered in the book, there are recipes to get the most basic of beginners started in GUI programming as well as tips to help experienced users get more out of their applications. The recipes will take you from the most basic application constructs all the way through to the deployment of complete applications.
Table of Contents (17 chapters)
wxPython Application Development Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Guiding selections with Wizard


Sometimes, it is necessary to guide a user through a series of actions to complete some choices. Wizard provides a way to accomplish this task by chaining a number of panels together in a special dialog that guides users through a series of sequential choices. In this recipe, we will take a look at what it takes to put together a Wizard dialog in the wxPython framework.

How to do it…

Perform the following steps:

  1. First, we need to import an extra submodule to get access to the Wizard classes, as follows:

    import wx
    import wx.wizard as WIZ
  2. Next, let's make a base class to use for the pages in the custom Wizard class that we will make:

    class PageBase(WIZ.WizardPageSimple):
        def __init__(self, parent, title):
            super(PageBase, self).__init__(parent)
            
            sizer = wx.BoxSizer(wx.VERTICAL)
            label = wx.StaticText(self, label=title)
            font = wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD)
            label.SetFont(font)
            sizer.Add(label, 0, wx...