1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
# (C) Copyright 2005-2023 Enthought, Inc., Austin, TX
# All rights reserved.
#
# This software is provided without warranty under the terms of the BSD
# license included in LICENSE.txt and may be redistributed only under
# the conditions described in the aforementioned license. The license
# is also available online at http://www.enthought.com/licenses/BSD.txt
#
# Thanks for using Enthought open source!
""" Utility functions for handling Qt dates and times. """
from pyface.qt import is_pyqt
from pyface.qt.QtCore import QTime
def qtime_to_pytime(qtime):
""" Convert a QTime to a Python datetime.time
This is needed to paper over the differences between PyQt and PySide.
Parameters
----------
qtime : QTime
The Qt QTime to convert
Returns
-------
pytime : datetime.time
The corresponding datetime.time.
"""
if is_pyqt:
return qtime.toPyTime()
else:
return qtime.toPython()
def pytime_to_qtime(pytime):
""" Convert a Python datetime.time to a QTime
This is a convenience function to construct a qtime from a Python time.
This loses any :attr:`fold` information in the Python time.
Parameters
----------
pytime : datetime.time
The datetime.time to convert
Returns
-------
qtime : QTime
The corresponding Qt QTime.
"""
return QTime(
pytime.hour,
pytime.minute,
pytime.second,
pytime.microsecond // 1000
)
|