.. wxPython Phoenix documentation This file was generated by Phoenix's sphinx generator and associated tools, do not edit by hand. Copyright: (c) 2011-2018 by Total Control Software License: wxWindows License .. include:: headings.inc .. _wx.App: ========================================================================================================================================== |phoenix_title| **wx.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| Class Hierarchy ================================= .. raw:: html <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;"> <img id="toggleBlock-trigger" src="_static/images/closed.png"/> Inheritance diagram for class <strong>App</strong>: </div> <div id="toggleBlock-summary" style="display:block;"></div> <div id="toggleBlock-content" style="display:none;"> <p class="graphviz"> <center><img src="_static/images/inheritance/wx.App_inheritance.png" alt="Inheritance diagram of App" usemap="#dummy" class="inheritance"/></center> <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script> <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.App.html" title="The ``wx.App`` class represents the application and is used to:" alt="" coords="145,237,217,267"/> <area shape="rect" id="node2" href="wx.AppConsole.html" title="This class is essential for writing console-only or hybrid apps without having to define ``USE_GUI=0`` ." alt="" coords="119,160,243,189"/> <area shape="rect" id="node3" href="wx.EvtHandler.html" title="A class that can handle events from the windowing system." alt="" coords="51,83,170,112"/> <area shape="rect" id="node4" href="wx.EventFilter.html" title="A global event filter for pre-processing all the events generated in the program." alt="" coords="195,83,312,112"/> <area shape="rect" id="node5" href="wx.Object.html" title="This is the root class of many of the wxWidgets classes." alt="" coords="5,5,93,35"/> <area shape="rect" id="node6" href="wx.Trackable.html" title="Add-on base class for a trackable object." alt="" coords="118,5,229,35"/> </map> </p> </div> | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~wx.App.__init__` Construct a ``wx.App`` object. :meth:`~wx.App.Get` A staticmethod returning the currently active application object. :meth:`~wx.App.InitLocale` Try to ensure that the C and Python locale is in sync with wxWidgets locale. :meth:`~wx.App.MainLoop` Execute the main GUI event loop :meth:`~wx.App.OnPreInit` Things that must be done after _BootstrapApp has done its thing, but :meth:`~wx.App.RedirectStdio` Redirect sys.stdout and sys.stderr to a file or a popup window. :meth:`~wx.App.ResetLocale` Release the wx.Locale object created in :meth:`InitLocale`. :meth:`~wx.App.RestoreStdio` :meth:`~wx.App.SetOutputWindowAttributes` Set the title, position and/or size of the output window if the stdio :meth:`~wx.App.SetTopWindow` Set the "main" top level window, which will be used for the parent of :meth:`~wx.App.__del__` ================================================================================ ================================================================================ | |api| Class API =============== .. class:: wx.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. .. method:: __init__(self, redirect=False, filename=None, useBestVisual=False, clearSigInt=True) Construct a ``wx.App`` object. :param 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.) :param filename: The name of a file to redirect output to, if redirect is True. :param 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. :param 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. .. staticmethod:: Get() A staticmethod returning the currently active application object. Essentially just a more pythonic version of :meth:`GetApp`. .. method:: InitLocale(self) Try to ensure that the C and Python locale is in sync with wxWidgets locale. .. method:: MainLoop(self) Execute the main GUI event loop .. method:: 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. .. method:: RedirectStdio(self, filename=None) Redirect sys.stdout and sys.stderr to a file or a popup window. .. method:: ResetLocale(self) Release the wx.Locale object created in :meth:`InitLocale`. This will reset the application's locale to the previous settings. .. method:: RestoreStdio(self) .. method:: 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. .. method:: 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. .. method:: __del__(self)