.. 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.adv.TimePickerCtrl:

==========================================================================================================================================
|phoenix_title|  **wx.adv.TimePickerCtrl**
==========================================================================================================================================

This control allows the user to enter time.          

It is similar to :ref:`wx.adv.DatePickerCtrl`  but is used for time, and not date, selection. While :meth:`~wx.adv.TimePickerCtrl.GetValue`  and :meth:`~wx.adv.TimePickerCtrl.SetValue`  still work with values of type :ref:`wx.DateTime`  (because wxWidgets doesn't provide a time-only class), their date part is ignored by this control. 

It is only available if  ``USE_TIMEPICKCTRL``   is set to 1. 

This control currently doesn't have any specific flags. 

^^ 





.. _TimePickerCtrl-events:

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

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


- EVT_TIME_CHANGED: Process a wxEVT_TIME_CHANGED event, which fires when the user changes the current selection in the control. ^^ 






         



.. versionadded:: 2.9.3 
     







.. seealso:: :ref:`wx.adv.DatePickerCtrl`, :ref:`wx.adv.CalendarCtrl`, :ref:`wx.adv.DateEvent`  







|

|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>TimePickerCtrl</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.adv.TimePickerCtrl_inheritance.png" alt="Inheritance diagram of TimePickerCtrl" 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.adv.TimePickerCtrl.html" title="wx.adv.TimePickerCtrl" alt="" coords="25,315,193,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.adv.timepickerctrl.png
   :alt: wxMSW
   :figclass: floatleft

   **wxMSW**


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

   **wxMAC**


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

   **wxGTK**


|


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

================================================================================ ================================================================================
:meth:`~wx.adv.TimePickerCtrl.__init__`                                          Default constructor.
:meth:`~wx.adv.TimePickerCtrl.Create`                                            Create the control window.
:meth:`~wx.adv.TimePickerCtrl.GetClassDefaultAttributes`                         
:meth:`~wx.adv.TimePickerCtrl.GetTime`                                           Returns the currently entered time as hours, minutes and seconds.
:meth:`~wx.adv.TimePickerCtrl.GetValue`                                          Returns the currently entered time.
:meth:`~wx.adv.TimePickerCtrl.SetTime`                                           Changes the current time of the control.
:meth:`~wx.adv.TimePickerCtrl.SetValue`                                          Changes the current value of the control.
================================================================================ ================================================================================


|


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

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


|


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


.. class:: wx.adv.TimePickerCtrl(Control)

   **Possible constructors**::

       TimePickerCtrl()
       
       TimePickerCtrl(parent, id=ID_ANY, dt=DefaultDateTime,
                      pos=DefaultPosition, size=DefaultSize, style=TP_DEFAULT,
                      validator=DefaultValidator, name=TimePickerCtrlNameStr)
       
   
   This control allows the user to enter time.



   .. 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=ID_ANY, dt=DefaultDateTime, pos=DefaultPosition, size=DefaultSize, style=TP_DEFAULT, validator=DefaultValidator, name=TimePickerCtrlNameStr)`
      
      Initializes the object and calls :meth:`Create`   with all the parameters.                  
      
      
      :param `parent`: 
      :type `parent`: wx.Window
      :param `id`: 
      :type `id`: wx.WindowID
      :param `dt`: 
      :type `dt`: wx.DateTime
      :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
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: Create(self, parent, id=ID_ANY, dt=DefaultDateTime, pos=DefaultPosition, size=DefaultSize, style=TP_DEFAULT, validator=DefaultValidator, name=TimePickerCtrlNameStr)

      Create the control window.                  

      This method should only be used for objects created using default constructor. 




      :param `parent`: Parent window, must not be non-NULL.   
      :type `parent`: wx.Window
      :param `id`: The identifier for the control.   
      :type `id`: wx.WindowID
      :param `dt`: The initial value of the control, if an invalid date (such as the default value) is used, the control is set to current time.   
      :type `dt`: wx.DateTime
      :param `pos`: Initial position.   
      :type `pos`: wx.Point
      :param `size`: Initial size. If left at default value, the control chooses its own best size by using the height approximately equal to a text control and width large enough to show the time fully.   
      :type `size`: wx.Size
      :param `style`: The window style, should be left at 0 as there are no special styles for this control in this version.   
      :type `style`: long
      :param `validator`: Validator which can be used for additional checks.   
      :type `validator`: wx.Validator
      :param `name`: Control name.  
      :type `name`: string




















      :rtype: `bool`



                  



      :returns: 

         ``True`` if the control was successfully created or ``False`` if creation failed.   








   .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL)




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




      :rtype: :ref:`VisualAttributes`








   .. method:: GetTime(self)

      Returns the currently entered time as hours, minutes and seconds.                  

      All the arguments must be non-NULL, ``False`` is returned otherwise and none of them is modified. 

                

      :rtype: `tuple`







      :returns: 

         ( `hour`, `min`, `sec` ) 







      .. versionadded:: 2.9.4 
     







      .. seealso:: :meth:`SetTime`   








   .. method:: GetValue(self)

      Returns the currently entered time.                  

      The date part of the returned :ref:`wx.DateTime`  object is always set to today and should be ignored, only the time part is relevant.                  

      :rtype: :ref:`DateTime`








   .. method:: SetTime(self, hour, min, sec)

      Changes the current time of the control.                  

      Calling this method does not result in a time change event. 




      :param `hour`: The new hour value in 0..23 interval.   
      :type `hour`: int
      :param `min`: The new minute value in 0..59 interval.   
      :type `min`: int
      :param `sec`: The new second value in 0..59 interval.   
      :type `sec`: int










      :rtype: `bool`



                  



      :returns: 

         ``True`` if the time was changed or ``False`` on failure, e.g. if the time components were invalid.  







      .. versionadded:: 2.9.4 
     







      .. seealso:: :meth:`GetTime`   








   .. method:: SetValue(self, dt)

      Changes the current value of the control.                  

      The date part of `dt`  is ignored, only the time part is displayed in the control. The `dt`  object must however be valid. 

      In particular, notice that it is a bad idea to use default :ref:`wx.DateTime`  constructor from hour, minute and second values as it uses the today date for the date part, which means that some values can be invalid if today happens to be the day of ``DST`` change. For example, when switching to summer time, the time 2:00 typically doesn't exist as the clocks jump directly to 3:00. To avoid this problem, use a fixed date on which ``DST`` is known not to change (e.g. Jan 1, 2012) for the date part of the argument or use :meth:`SetTime` . 

      Calling this method does not result in a time change event.                  


      :param `dt`: 
      :type `dt`: wx.DateTime







   .. attribute:: Value

      See :meth:`~wx.adv.TimePickerCtrl.GetValue` and :meth:`~wx.adv.TimePickerCtrl.SetValue`

