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

==========================================================================================================================================
|phoenix_title|  **wx.SpinCtrlDouble**
==========================================================================================================================================

:ref:`wx.SpinCtrlDouble`  combines :ref:`wx.TextCtrl`  and :ref:`wx.SpinButton`  in one control and displays a real number.          

(:ref:`wx.SpinCtrl`  displays an integer.) 





.. _SpinCtrlDouble-styles:

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

This class supports the following styles: 

  

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








.. _SpinCtrlDouble-events:

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

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


- EVT_SPINCTRLDOUBLE: Generated whenever the numeric value of the spin control is changed, that is, when the up/down spin button is clicked, when ``ENTER`` is pressed, or the control loses focus and the new value is different from the last. See :ref:`wx.SpinDoubleEvent`.  








         



.. seealso:: :ref:`wx.SpinButton`, :ref:`wx.SpinCtrl`, :ref:`wx.Control`    







|

|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>SpinCtrlDouble</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.SpinCtrlDouble_inheritance.png" alt="Inheritance diagram of SpinCtrlDouble" 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.SpinCtrlDouble.html" title="wx.SpinCtrlDouble" alt="" coords="37,315,180,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.spinctrldouble.png
   :alt: wxMSW
   :figclass: floatleft

   **wxMSW**


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

   **wxMAC**


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

   **wxGTK**


|


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

================================================================================ ================================================================================
:meth:`~wx.SpinCtrlDouble.__init__`                                              Default constructor.
:meth:`~wx.SpinCtrlDouble.Create`                                                Creation function called by the spin control constructor.
:meth:`~wx.SpinCtrlDouble.GetClassDefaultAttributes`                             
:meth:`~wx.SpinCtrlDouble.GetDigits`                                             Gets precision of the value of the spin control.
:meth:`~wx.SpinCtrlDouble.GetIncrement`                                          Gets the increment value.
:meth:`~wx.SpinCtrlDouble.GetMax`                                                Gets maximal allowable value.
:meth:`~wx.SpinCtrlDouble.GetMin`                                                Gets minimal allowable value.
:meth:`~wx.SpinCtrlDouble.GetRange`                                              
:meth:`~wx.SpinCtrlDouble.GetValue`                                              Gets the value of the spin control.
:meth:`~wx.SpinCtrlDouble.SetDigits`                                             Sets precision of the value of the spin control.
:meth:`~wx.SpinCtrlDouble.SetIncrement`                                          Sets the increment value.
:meth:`~wx.SpinCtrlDouble.SetMax`                                                
:meth:`~wx.SpinCtrlDouble.SetMin`                                                
:meth:`~wx.SpinCtrlDouble.SetRange`                                              Sets range of allowable values.
:meth:`~wx.SpinCtrlDouble.SetValue`                                              Sets the value of the spin control.
================================================================================ ================================================================================


|


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

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


|


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


.. class:: wx.SpinCtrlDouble(Control)

   **Possible constructors**::

       SpinCtrlDouble()
       
       SpinCtrlDouble(parent, id=-1, value=EmptyString, pos=DefaultPosition,
                      size=DefaultSize, style=SP_ARROW_KEYS, min=0, max=100, initial=0, inc=1,
                      name=T("wxSpinCtrlDouble"))
       
   
   SpinCtrlDouble combines TextCtrl and SpinButton in one control
   and displays a real number.



   .. 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, value=EmptyString, pos=DefaultPosition, size=DefaultSize, style=SP_ARROW_KEYS, min=0, max=100, initial=0, inc=1, name=T("wxSpinCtrlDouble"))`
      
      Constructor, creating and showing a spin control.                  
      
      
      
      
      :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 `value`: Default value (as text).   
      :type `value`: 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.SpinButton`.   
      :type `style`: long
      :param `min`: Minimal value.   
      :type `min`: float
      :param `max`: Maximal value.   
      :type `max`: float
      :param `initial`: Initial value.   
      :type `initial`: float
      :param `inc`: Increment value.   
      :type `inc`: float
      :param `name`: Window name.  
      :type `name`: string
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      `inc`. If necessary, default precision can be adjusted by call to :meth:`SetDigits` . 
      
                       
      
      
      
      .. seealso:: :meth:`Create`     
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: Create(self, parent, id=ID_ANY, value=EmptyString, pos=DefaultPosition, size=DefaultSize, style=SP_ARROW_KEYS, min=0, max=100, initial=0, inc=1, name="wxSpinCtrlDouble")

      Creation function called by the spin control constructor.                  

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


      :param `parent`: 
      :type `parent`: wx.Window
      :param `id`: 
      :type `id`: wx.WindowID
      :param `value`: 
      :type `value`: string
      :param `pos`: 
      :type `pos`: wx.Point
      :param `size`: 
      :type `size`: wx.Size
      :param `style`: 
      :type `style`: long
      :param `min`: 
      :type `min`: float
      :param `max`: 
      :type `max`: float
      :param `initial`: 
      :type `initial`: float
      :param `inc`: 
      :type `inc`: float
      :param `name`: 
      :type `name`: string




      :rtype: `bool`








   .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL)




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




      :rtype: :ref:`wx.VisualAttributes`








   .. method:: GetDigits(self)

      Gets precision of the value of the spin control.                  

      :rtype: `int`








   .. method:: GetIncrement(self)

      Gets the increment value.                  

      :rtype: `float`








   .. method:: GetMax(self)

      Gets maximal allowable value.                  

      :rtype: `float`








   .. method:: GetMin(self)

      Gets minimal allowable value.                  

      :rtype: `float`








   .. method:: GetRange(self)




   .. method:: GetValue(self)

      Gets the value of the spin control.                  

      :rtype: `float`








   .. method:: SetDigits(self, digits)

      Sets precision of the value of the spin control.                  

      Up to 20 digits are allowed after the decimal point.                  


      :param `digits`: 
      :type `digits`: int







   .. method:: SetIncrement(self, inc)

      Sets the increment value.                  

                


      :param `inc`: 
      :type `inc`: float






      .. note:: 

         You may also need to change the precision of the value using :meth:`SetDigits` .   








   .. method:: SetMax(self, maxVal)




   .. method:: SetMin(self, minVal)




   .. method:: SetRange(self, minVal, maxVal)

      Sets range of allowable values.                  


      :param `minVal`: 
      :type `minVal`: float
      :param `maxVal`: 
      :type `maxVal`: float







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



      |overload| Overloaded Implementations:

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

      
      **SetValue** `(self, text)`
      
      Sets the value of the spin control.                  
      
      It is recommended to use the overload taking a float value instead. 
      
      Notice that, unlike :meth:`wx.TextCtrl.SetValue` , but like most of the other setter methods in wxWidgets, calling this method does not generate any events as events are only generated for the user actions.                  
      
      
      :param `text`: 
      :type `text`: string
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **SetValue** `(self, value)`
      
      Sets the value of the spin control.                  
      
      Calling this method doesn't generate any  ``wxEVT_SPINCTRLDOUBLE``   events.                   
      
      
      :param `value`: 
      :type `value`: float
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. attribute:: Digits

      See :meth:`~wx.SpinCtrlDouble.GetDigits` and :meth:`~wx.SpinCtrlDouble.SetDigits`


   .. attribute:: Increment

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


   .. attribute:: Max

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


   .. attribute:: Min

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


   .. attribute:: Range

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


   .. attribute:: Value

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

