.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.ToggleButton:

==========================================================================================================================================
|phoenix_title|  **wx.ToggleButton**
==========================================================================================================================================

:ref:`wx.ToggleButton`  is a button that stays pressed when clicked by the user. 
         

In other words, it is similar to :ref:`wx.CheckBox`  in functionality but looks like a :ref:`wx.Button`. 

Since wxWidgets version 2.9.0 this control emits an update UI event. 

You can see :ref:`wx.ToggleButton`  in action in :ref:`Widgets Sample <widgets sample>`. 







.. _ToggleButton-events:

|events| Events Emitted by this Class
=====================================

Handlers bound for the following event types will receive a :ref:`wx.CommandEvent` parameter.


- EVT_TOGGLEBUTTON: Handles a wxEVT_TOGGLEBUTTON event.  









         



.. seealso:: :ref:`wx.CheckBox`, :ref:`wx.Button`, :ref:`wx.BitmapToggleButton`    







|

|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>ToggleButton</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.ToggleButton_inheritance.svg" alt="Inheritance diagram of ToggleButton" 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.ToggleButton.html" title="wx.ToggleButton  is a button that stays pressed when clicked by the user." alt="" coords="48,389,195,418"/> <area shape="rect" id="node2" href="wx.AnyButton.html" title="A class for common button functionality used as the base for the various button classes." alt="" coords="58,313,185,341"/> <area shape="rect" id="node3" href="wx.Control.html" title="This is the base class for a control or 'widget'." alt="" coords="69,236,174,265"/> <area shape="rect" id="node4" href="wx.Window.html" title="wx.Window  is the base class for all windows and represents any visible object on screen." alt="" coords="66,159,177,188"/> <area shape="rect" id="node5" href="wx.EvtHandler.html" title="A class that can handle events from the windowing system." alt="" coords="55,82,188,111"/> <area shape="rect" id="node6" href="wx.Object.html" title="This is the root class of many of the wxWidgets classes." alt="" coords="5,5,104,34"/> <area shape="rect" id="node7" href="wx.Trackable.html" title="Add-on base class for a trackable object." alt="" coords="128,5,251,34"/> </map> 
   </p>
   </div>

|


|appearance| Control Appearance
===============================

|

.. container:: control-appearance-figures

   .. figure:: _static/images/widgets/fullsize/wxmsw/wx.togglebutton.png
      :alt: wxMSW
      :figclass: appearance-figure

      **wxMSW**


   .. figure:: _static/images/widgets/fullsize/wxmac/wx.togglebutton.png
      :alt: wxMAC
      :figclass: appearance-figure

      **wxMAC**


   .. figure:: _static/images/widgets/fullsize/wxgtk/wx.togglebutton.png
      :alt: wxGTK
      :figclass: appearance-figure

      **wxGTK**

|


|sub_classes| Known Subclasses
==============================

:ref:`wx.BitmapToggleButton`

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.ToggleButton.__init__`                                                Default constructor.
:meth:`~wx.ToggleButton.Create`                                                  Creates the toggle button for two-step construction.
:meth:`~wx.ToggleButton.GetClassDefaultAttributes`                               
:meth:`~wx.ToggleButton.GetValue`                                                Gets the state of the toggle button.
:meth:`~wx.ToggleButton.SetValue`                                                Sets the toggle button to the given state.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.ToggleButton.Value`                                                   See :meth:`~wx.ToggleButton.GetValue` and :meth:`~wx.ToggleButton.SetValue`
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.ToggleButton(AnyButton)

   **Possible constructors**::

       ToggleButton() -> None
       
       ToggleButton(parent : Window, id: int=ID_ANY, label: str='', pos:
                    Point=DefaultPosition, size: Size=DefaultSize, style: int=0, val:
                    Validator=DefaultValidator, name: str=CheckBoxNameStr) -> None
       
   
   ToggleButton is a button that stays pressed when clicked by the
   user.



   .. method:: __init__(self, *args, **kw)



      |overload| **Overloaded Implementations:**

      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self)`
      
      Default constructor. 
                       
      
      :rtype: `None`     
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self, parent : Window, id: int=ID_ANY, label: str='', pos: Point=DefaultPosition, size: Size=DefaultSize, style: int=0, val: Validator=DefaultValidator, name: str=CheckBoxNameStr)`
      
      Constructor, creating and showing a toggle button. 
                       
      
      
      
      
      :param `parent`: Parent window. Must not be ``None``.   
      :type `parent`: wx.Window
      :param `id`: Toggle button identifier. The value ``wx.ID_ANY`` indicates a default value.   
      :type `id`: wx.WindowID
      :param `label`: Text to be displayed next to the toggle button.   
      :type `label`: string
      :param `pos`: Toggle button position. If `wx.DefaultPosition`       is specified then a default position is chosen.   
      :type `pos`: wx.Point
      :param `size`: Toggle button size. If `wx.DefaultSize`       is specified then a default size is chosen.   
      :type `size`: wx.Size
      :param `style`: Window style. See :ref:`wx.ToggleButton`.   
      :type `style`: long
      :param `val`: Window validator.   
      :type `val`: wx.Validator
      :param `name`: Window name.  
      :type `name`: string
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      :rtype: `None`     
      
      
      
      
                        
      
      
      
      .. seealso:: :meth:`Create` , :ref:`wx.Validator`    
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: Create(self, parent : Window, id: int=ID_ANY, label: str='', pos: Point=DefaultPosition, size: Size=DefaultSize, style: int=0, val: Validator=DefaultValidator, name: str=CheckBoxNameStr)

      Creates the toggle button for two-step construction. 
                 

      See :ref:`wx.ToggleButton`  for details. 
                 


      :param `parent`: 
      :type `parent`: wx.Window
      :param `id`: 
      :type `id`: wx.WindowID
      :param `label`: 
      :type `label`: string
      :param `pos`: 
      :type `pos`: wx.Point
      :param `size`: 
      :type `size`: wx.Size
      :param `style`: 
      :type `style`: long
      :param `val`: 
      :type `val`: wx.Validator
      :param `name`: 
      :type `name`: string




      :rtype: `bool`








   .. staticmethod:: GetClassDefaultAttributes(variant: WindowVariant=WINDOW_VARIANT_NORMAL)




      :param `variant`: 
      :type `variant`: wx.WindowVariant




      :rtype: :ref:`wx.VisualAttributes`








   .. method:: GetValue(self)

      Gets the state of the toggle button. 
                 


                

      :rtype: `bool`







      :returns: 

         Returns ``True`` if it is pressed, ``False`` otherwise.   








   .. method:: SetValue(self, state : bool)

      Sets the toggle button to the given state. 
                 

      This does not cause a  ``EVT_TOGGLEBUTTON``   event to be emitted. 




      :param `state`: If ``True``, the button is pressed.   
      :type `state`: bool






      :rtype: `None`     




                  





   .. attribute:: Value

      See :meth:`~wx.ToggleButton.GetValue` and :meth:`~wx.ToggleButton.SetValue`