.. 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.RadioButton:

==========================================================================================================================================
|phoenix_title|  **wx.RadioButton**
==========================================================================================================================================

A radio button item is a button which usually denotes one of several mutually exclusive options.          

It has a text label next to a (usually) round button. 

Radio buttons are typically used in groups of mutually-exclusive buttons, i.e. exactly one of the buttons in the group is checked, and the other ones are unchecked automatically. Such groups are created implicitly, but can also be started explicitly by using  ``RB_GROUP``   style: a button with this style starts a new group and will become the initial selection in this group. Alternatively, a radio button may be excluded from the group that it would otherwise belong to by using   ``RB_SINGLE``   style. 

To find the other elements of the same radio button group, you can use :meth:`~wx.RadioButton.GetFirstInGroup`, :meth:`~wx.RadioButton.GetPreviousInGroup`, :meth:`~wx.RadioButton.GetNextInGroup`  and :meth:`~wx.RadioButton.GetLastInGroup`  functions. 





.. _RadioButton-styles:

|styles| Window Styles
================================

This class supports the following styles: 

  

- ``wx.RB_GROUP``: Marks the beginning of a new group of radio buttons.  
- ``wx.RB_SINGLE``: Creates a radio button which is not part of any radio button group. When this style is used, no other radio buttons will be turned off automatically when this button is turned on and such behaviour will need to be implemented manually, in the event handler for this button.  








.. _RadioButton-events:

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

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


- EVT_RADIOBUTTON: Process a  ``wxEVT_RADIOBUTTON``   event, when the radiobutton is clicked.   








         



.. seealso:: :ref:`Events and Event Handling <events and event handling>`, :ref:`wx.RadioBox`, :ref:`wx.CheckBox`    







|

|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>RadioButton</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.RadioButton_inheritance.png" alt="Inheritance diagram of RadioButton" 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.RadioButton.html" title="wx.RadioButton" alt="" coords="46,315,171,344"/> <area shape="rect" id="node2" href="wx.Control.html" title="wx.Control" alt="" coords="63,237,155,267"/> <area shape="rect" id="node3" href="wx.Window.html" title="wx.Window" alt="" coords="60,160,157,189"/> <area shape="rect" id="node4" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="50,83,167,112"/> <area shape="rect" id="node5" href="wx.Object.html" title="wx.Object" alt="" coords="5,5,92,35"/> <area shape="rect" id="node6" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="117,5,223,35"/> </map> 
   </p>
   </div>

|


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

|

.. figure:: _static/images/widgets/fullsize/wxmsw/wx.radiobutton.png
   :alt: wxMSW
   :figclass: floatleft

   **wxMSW**


.. figure:: _static/images/widgets/fullsize/wxmac/wx.radiobutton.png
   :alt: wxMAC
   :figclass: floatright

   **wxMAC**


.. figure:: _static/images/widgets/fullsize/wxgtk/wx.radiobutton.png
   :alt: wxGTK
   :figclass: floatcenter

   **wxGTK**


|


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

================================================================================ ================================================================================
:meth:`~wx.RadioButton.__init__`                                                 Default constructor.
:meth:`~wx.RadioButton.Create`                                                   Creates the choice for two-step construction.
:meth:`~wx.RadioButton.GetClassDefaultAttributes`                                
:meth:`~wx.RadioButton.GetFirstInGroup`                                          Returns the first button of the radio button group this button belongs to.
:meth:`~wx.RadioButton.GetLastInGroup`                                           Returns the last button of the radio button group this button belongs to.
:meth:`~wx.RadioButton.GetNextInGroup`                                           Returns the next radio button in the same group.
:meth:`~wx.RadioButton.GetPreviousInGroup`                                       Returns the previous radio button in the same group.
:meth:`~wx.RadioButton.GetValue`                                                 Returns ``True`` if the radio button is checked, ``False`` otherwise.
:meth:`~wx.RadioButton.SetValue`                                                 Sets the radio button to checked or unchecked status.
================================================================================ ================================================================================


|


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

================================================================================ ================================================================================
:attr:`~wx.RadioButton.FirstInGroup`                                             See :meth:`~wx.RadioButton.GetFirstInGroup`
:attr:`~wx.RadioButton.LastInGroup`                                              See :meth:`~wx.RadioButton.GetLastInGroup`
:attr:`~wx.RadioButton.NextInGroup`                                              See :meth:`~wx.RadioButton.GetNextInGroup`
:attr:`~wx.RadioButton.PreviousInGroup`                                          See :meth:`~wx.RadioButton.GetPreviousInGroup`
:attr:`~wx.RadioButton.Value`                                                    See :meth:`~wx.RadioButton.GetValue` and :meth:`~wx.RadioButton.SetValue`
================================================================================ ================================================================================


|


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


.. class:: wx.RadioButton(Control)

   **Possible constructors**::

       RadioButton()
       
       RadioButton(parent, id=ID_ANY, label=EmptyString, pos=DefaultPosition,
                   size=DefaultSize, style=0, validator=DefaultValidator,
                   name=RadioButtonNameStr)
       
   
   A radio button item is a button which usually denotes one of several
   mutually exclusive options.



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



      |overload| Overloaded Implementations:

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

      
      **__init__** `(self)`
      
      Default constructor.                  
      
                       
      
      
      
      .. seealso:: :meth:`Create` , :ref:`wx.Validator`    
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self, parent, id=ID_ANY, label=EmptyString, pos=DefaultPosition, size=DefaultSize, style=0, validator=DefaultValidator, name=RadioButtonNameStr)`
      
      Constructor, creating and showing a radio button.                  
      
      
      
      
      :param `parent`: Parent window. Must not be ``None``.   
      :type `parent`: wx.Window
      :param `id`: Window identifier. The value  ``ID_ANY``   indicates a default value.    
      :type `id`: wx.WindowID
      :param `label`: Label for the radio button.   
      :type `label`: string
      :param `pos`: Window position. If :ref:`wx.DefaultPosition`  is specified then a default position is chosen.   
      :type `pos`: wx.Point
      :param `size`: Window size. If :ref:`wx.DefaultSize`  is specified then a default size is chosen.   
      :type `size`: wx.Size
      :param `style`: Window style. See :ref:`wx.RadioButton`.   
      :type `style`: long
      :param `validator`: Window validator.   
      :type `validator`: wx.Validator
      :param `name`: Window name.  
      :type `name`: string
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
                        
      
      
      
      .. seealso:: :meth:`Create` , :ref:`wx.Validator`    
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: Create(self, parent, id=ID_ANY, label=EmptyString, pos=DefaultPosition, size=DefaultSize, style=0, validator=DefaultValidator, name=RadioButtonNameStr)

      Creates the choice for two-step construction.                  

      See :ref:`wx.RadioButton`  for further 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 `validator`: 
      :type `validator`: wx.Validator
      :param `name`: 
      :type `name`: string




      :rtype: `bool`








   .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL)




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




      :rtype: :ref:`wx.VisualAttributes`








   .. method:: GetFirstInGroup(self)

      Returns the first button of the radio button group this button belongs to.                  

      For a radio button with  ``RB_SINGLE``   style, this function returns this button itself, as it is the only member of its group. Otherwise, the function returns the closest previous radio button with   ``RB_GROUP``   style (which could still be this button itself) or the first radio button in the same window. 

      The returned value is never ``None``. 

                

      :rtype: :ref:`wx.RadioButton`







      .. versionadded:: 4.1/wxWidgets-3.1.5  
     







      .. seealso:: :meth:`GetPreviousInGroup` , :meth:`GetNextInGroup` , :meth:`GetLastInGroup`   








   .. method:: GetLastInGroup(self)

      Returns the last button of the radio button group this button belongs to.                  

      Similarly to :meth:`GetFirstInGroup` , this function returns this button itself if it has  ``RB_SINGLE``   style. Otherwise, the function returns the last button before the next button with   ``RB_GROUP``   style or the last radio button in the same window. 

      The returned value is never ``None``. 

                

      :rtype: :ref:`wx.RadioButton`







      .. versionadded:: 4.1/wxWidgets-3.1.5  
     







      .. seealso:: :meth:`GetPreviousInGroup` , :meth:`GetNextInGroup`   








   .. method:: GetNextInGroup(self)

      Returns the next radio button in the same group.                  

      The return value is ``None`` if there is no successor or if this button has  ``RB_SINGLE``   style. 

                

      :rtype: :ref:`wx.RadioButton`







      .. versionadded:: 4.1/wxWidgets-3.1.5  
     







      .. seealso:: :meth:`GetFirstInGroup` , :meth:`GetPreviousInGroup` , :meth:`GetLastInGroup`   








   .. method:: GetPreviousInGroup(self)

      Returns the previous radio button in the same group.                  

      The return value is ``None`` if there is no predecessor or if this button has  ``RB_SINGLE``   style. 

                

      :rtype: :ref:`wx.RadioButton`







      .. versionadded:: 4.1/wxWidgets-3.1.5  
     







      .. seealso:: :meth:`GetFirstInGroup` , :meth:`GetNextInGroup` , :meth:`GetLastInGroup`   








   .. method:: GetValue(self)

      Returns ``True`` if the radio button is checked, ``False`` otherwise.                  

      :rtype: `bool`








   .. method:: SetValue(self, value)

      Sets the radio button to checked or unchecked status.                  

      This does not cause a  ``wxEVT_RADIOBUTTON``   event to get emitted. 

      If the radio button belongs to a radio group exactly one button in the group may be checked and so this method can be only called with `value`  set to ``True``. To uncheck a radio button in a group you must check another button in the same group. 




      :param `value`: ``True`` to check, ``False`` to uncheck.   
      :type `value`: bool




                  



      .. note:: 

         Under MSW, the focused radio button is always selected, i.e. its value is ``True``. And, conversely, calling  ``SetValue(true)``   will also set focus to the radio button if the focus had previously been on another radio button in the same group  –  








   .. attribute:: FirstInGroup

      See :meth:`~wx.RadioButton.GetFirstInGroup`


   .. attribute:: LastInGroup

      See :meth:`~wx.RadioButton.GetLastInGroup`


   .. attribute:: NextInGroup

      See :meth:`~wx.RadioButton.GetNextInGroup`


   .. attribute:: PreviousInGroup

      See :meth:`~wx.RadioButton.GetPreviousInGroup`


   .. attribute:: Value

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

