.. 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.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 increment 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 an arrow is pressed.  
- EVT_SPIN_UP: Generated when left/up arrow is pressed.  
- EVT_SPIN_DOWN: Generated when right/down arrow is pressed.  

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.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.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.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:: 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:: SetMax(self, maxVal)




   .. method:: SetMin(self, minVal)




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

      Sets the range of the spin button.                  




      :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:: 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`

