Table Of Contents

Previous topic

AnyButton

Next topic

AppAssertMode

This Page

phoenix_title App

The wx.App class represents the application and is used to:

  • bootstrap the wxPython system and initialize the underlying gui toolkit
  • set and get application-wide properties
  • implement the native windowing system main message or event loop, and to dispatch events to window instances
  • etc.

Every wx application must have a single wx.App instance, and all creation of UI objects should be delayed until after the wx.App object has been created in order to ensure that the gui platform and wxWidgets have been fully initialized.

Normally you would derive from this class and implement an OnInit method that creates a frame and then calls self.SetTopWindow(frame), however wx.App is also usable on it’s own without derivation.


class_hierarchy Inheritance Diagram

Inheritance diagram for class App

Inheritance diagram of App


method_summary Methods Summary

__init__ Construct a wx.App object.
MainLoop Execute the main GUI event loop
OnPreInit Things that must be done after _BootstrapApp has done its thing, but
RedirectStdio Redirect sys.stdout and sys.stderr to a file or a popup window.
RestoreStdio  
SetOutputWindowAttributes Set the title, position and/or size of the output window if the stdio
SetTopWindow Set the “main” top level window, which will be used for the parent of
__del__  

api Class API



class App(PyApp)

The wx.App class represents the application and is used to:

  • bootstrap the wxPython system and initialize the underlying gui toolkit
  • set and get application-wide properties
  • implement the native windowing system main message or event loop, and to dispatch events to window instances
  • etc.

Every wx application must have a single wx.App instance, and all creation of UI objects should be delayed until after the wx.App object has been created in order to ensure that the gui platform and wxWidgets have been fully initialized.

Normally you would derive from this class and implement an OnInit method that creates a frame and then calls self.SetTopWindow(frame), however wx.App is also usable on it’s own without derivation.


Methods



__init__(self, redirect=False, filename=None, useBestVisual=False, clearSigInt=True)

Construct a wx.App object.

Parameters:
  • redirect – Should sys.stdout and sys.stderr be redirected? Defaults to False. If filename is None then output will be redirected to a window that pops up as needed. (You can control what kind of window is created for the output by resetting the class variable outputWindowClass to a class of your choosing.)
  • filename – The name of a file to redirect output to, if redirect is True.
  • useBestVisual – Should the app try to use the best available visual provided by the system (only relevant on systems that have more than one visual.) This parameter must be used instead of calling SetUseBestVisual later on because it must be set before the underlying GUI toolkit is initialized.
  • clearSigInt – Should SIGINT be cleared? This allows the app to terminate upon a Ctrl-C in the console like other GUI apps will.

Note

You should override OnInit to do application initialization to ensure that the system, toolkit and wxWidgets are fully initialized.



MainLoop(self)

Execute the main GUI event loop



OnPreInit(self)

Things that must be done after _BootstrapApp has done its thing, but would be nice if they were already done by the time that OnInit is called. This can be overridden in derived classes, but be sure to call this method from there.



RedirectStdio(self, filename=None)

Redirect sys.stdout and sys.stderr to a file or a popup window.



RestoreStdio(self)


SetOutputWindowAttributes(self, title=None, pos=None, size=None)

Set the title, position and/or size of the output window if the stdio has been redirected. This should be called before any output would cause the output window to be created.



SetTopWindow(self, frame)

Set the “main” top level window, which will be used for the parent of the on-demand output window as well as for dialogs that do not have an explicit parent set.



__del__(self)