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

==========================================================================================================================================
|phoenix_title|  **wx.SpinButton**
==========================================================================================================================================

A :ref:`wx.SpinButton`  has two small up and down (or left and right) arrow buttons.          

It is often used next to a text control for incrementing and decrementing a value. Portable programs should try to use :ref:`wx.SpinCtrl`  instead as :ref:`wx.SpinButton`  is not implemented for all platforms but :ref:`wx.SpinCtrl`  is as it degenerates to a simple :ref:`wx.TextCtrl`  on such platforms. 


^^  



.. _SpinButton-styles:

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

This class supports the following styles: 

  

- ``wx.SP_HORIZONTAL``: Specifies a horizontal spin button (note that this style is not supported in wxGTK).  
- ``wx.SP_VERTICAL``: Specifies a vertical spin button.  
- ``wx.SP_ARROW_KEYS``: The user can use arrow keys to change the value.  
- ``wx.SP_WRAP``: The value wraps at the minimum and maximum. ^^ 

^^






.. _SpinButton-events:

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

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


- EVT_SPIN: Generated whenever pressing an arrow changed the spin button value.  
- EVT_SPIN_UP: Generated whenever pressing left/up arrow changed the spin button value.  
- EVT_SPIN_DOWN: Generated whenever pressing right/down arrow changed the spin button value. ^^ 

Note that if you handle both ``SPIN`` and ``wx.UP`` or ``wx.DOWN`` events, you will be notified about each of them twice: first the UP/DOWN event will be received and then, if it wasn't vetoed, the ``SPIN`` event will be sent.






         



.. note:: 

   the range supported by this control (and :ref:`wx.SpinCtrl`) depends on the platform but is at least  ``-0x8000``   to   ``0x7fff`` . Under GTK and Win32 with sufficiently new version of   ``comctrl32.dll``   (at least 4.71 is required, 5.80 is recommended) the full 32 bit range is supported.  







.. seealso:: :ref:`wx.SpinCtrl`    







|

|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>SpinButton</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.SpinButton_inheritance.png" alt="Inheritance diagram of SpinButton" 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.SpinButton.html" title="wx.SpinButton" alt="" coords="51,315,167,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.spinbutton.png
   :alt: wxMSW
   :figclass: floatleft

   **wxMSW**


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

   **wxMAC**


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

   **wxGTK**


|


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

================================================================================ ================================================================================
:meth:`~wx.SpinButton.__init__`                                                  Default constructor.
:meth:`~wx.SpinButton.Create`                                                    Scrollbar creation function called by the spin button constructor.
:meth:`~wx.SpinButton.GetClassDefaultAttributes`                                 
:meth:`~wx.SpinButton.GetIncrement`                                              Get the value for increment for a spin control.
:meth:`~wx.SpinButton.GetMax`                                                    Returns the maximum permissible value.
:meth:`~wx.SpinButton.GetMin`                                                    Returns the minimum permissible value.
:meth:`~wx.SpinButton.GetRange`                                                  
:meth:`~wx.SpinButton.GetValue`                                                  Returns the current spin button value.
:meth:`~wx.SpinButton.SetIncrement`                                              Sets the increment for the control.
:meth:`~wx.SpinButton.SetMax`                                                    
:meth:`~wx.SpinButton.SetMin`                                                    
:meth:`~wx.SpinButton.SetRange`                                                  Sets the range of the spin button.
:meth:`~wx.SpinButton.SetValue`                                                  Sets the value of the spin button.
================================================================================ ================================================================================


|


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

================================================================================ ================================================================================
:attr:`~wx.SpinButton.Increment`                                                 See :meth:`~wx.SpinButton.GetIncrement` and :meth:`~wx.SpinButton.SetIncrement`
:attr:`~wx.SpinButton.Max`                                                       See :meth:`~wx.SpinButton.GetMax` and :meth:`~wx.SpinButton.SetMax`
:attr:`~wx.SpinButton.Min`                                                       See :meth:`~wx.SpinButton.GetMin` and :meth:`~wx.SpinButton.SetMin`
:attr:`~wx.SpinButton.Range`                                                     See :meth:`~wx.SpinButton.GetRange`
:attr:`~wx.SpinButton.Value`                                                     See :meth:`~wx.SpinButton.GetValue` and :meth:`~wx.SpinButton.SetValue`
================================================================================ ================================================================================


|


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


.. class:: wx.SpinButton(Control)

   **Possible constructors**::

       SpinButton()
       
       SpinButton(parent, id=-1, pos=DefaultPosition, size=DefaultSize,
                  style=SP_VERTICAL, name="spinButton")
       
   
   A SpinButton has two small up and down (or left and right) arrow
   buttons.



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



      |overload| Overloaded Implementations:

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

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

      
      **__init__** `(self, parent, id=-1, pos=DefaultPosition, size=DefaultSize, style=SP_VERTICAL, name="spinButton")`
      
      Constructor, creating and showing a spin button.                  
      
      
      
      
      :param `parent`: Parent window. Must not be ``None``.   
      :type `parent`: wx.Window
      :param `id`: Window identifier. The value ``wx.ID_ANY`` indicates a default value.   
      :type `id`: wx.WindowID
      :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.SpinButton`  class description.   
      :type `style`: long
      :param `name`: Window name.  
      :type `name`: string
      
      
      
      
      
      
      
      
      
      
      
      
      
      
                        
      
      
      
      .. seealso:: :meth:`Create`     
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: Create(self, parent, id=-1, pos=DefaultPosition, size=DefaultSize, style=SP_VERTICAL, name="wxSpinButton")

      Scrollbar creation function called by the spin button constructor.                  

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


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




      :rtype: `bool`








   .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL)




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




      :rtype: :ref:`wx.VisualAttributes`








   .. method:: GetIncrement(self)

      Get the value for increment for a spin control.                  

      The default value is 1 but it can be changed using :meth:`SetIncrement` . 

                

      :rtype: `int`







      .. versionadded:: 4.1/wxWidgets-3.1.6  
     








   .. method:: GetMax(self)

      Returns the maximum permissible value.                  

                

      :rtype: `int`







      .. seealso:: :meth:`SetRange`     








   .. method:: GetMin(self)

      Returns the minimum permissible value.                  

                

      :rtype: `int`







      .. seealso:: :meth:`SetRange`     








   .. method:: GetRange(self)




   .. method:: GetValue(self)

      Returns the current spin button value.                  

                

      :rtype: `int`







      .. seealso:: :meth:`SetValue`     








   .. method:: SetIncrement(self, value)

      Sets the increment for the control.                  

      The increment is the number by which the value changes when the up or down arrow is used. 

      The default is 1. 

      This function is currently implemented only in wxMSW and does nothing under the other platforms. 

                


      :param `value`: 
      :type `value`: int






      .. versionadded:: 4.1/wxWidgets-3.1.6  
    







      .. seealso:: :meth:`wx.SpinCtrl.SetIncrement`     








   .. method:: SetMax(self, maxVal)




   .. method:: SetMin(self, minVal)




   .. method:: SetRange(self, min, max)

      Sets the range of the spin button.                  

      In portable code, `min`  should be less than or equal to `max`. In wxMSW it is possible to specify minimum greater than maximum and the native control supports the same range as if they were reversed, but swaps the meaning of up and down arrows, however this dubious feature is not supported on other platforms. 




      :param `min`: The minimum value for the spin button.   
      :type `min`: int
      :param `max`: The maximum value for the spin button.  
      :type `max`: int






                  



      .. seealso:: :meth:`GetMin` , :meth:`GetMax`     








   .. method:: SetValue(self, value)

      Sets the value of the spin button.                  




      :param `value`: The value for the spin button.   
      :type `value`: int




                  





   .. attribute:: Increment

      See :meth:`~wx.SpinButton.GetIncrement` and :meth:`~wx.SpinButton.SetIncrement`


   .. attribute:: Max

      See :meth:`~wx.SpinButton.GetMax` and :meth:`~wx.SpinButton.SetMax`


   .. attribute:: Min

      See :meth:`~wx.SpinButton.GetMin` and :meth:`~wx.SpinButton.SetMin`


   .. attribute:: Range

      See :meth:`~wx.SpinButton.GetRange`


   .. attribute:: Value

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

