QDateTimeEdit#

The QDateTimeEdit class provides a widget for editing dates and times. More

Inheritance diagram of PySide6.QtWidgets.QDateTimeEdit

Inherited by: QTimeEdit, QDateEdit

Synopsis#

Properties#

Functions#

Virtual functions#

Slots#

Signals#

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description#

Warning

This section contains snippets that were automatically translated from C++ to Python and may contain errors.

../../_images/windows-datetimeedit.png

QDateTimeEdit allows the user to edit dates by using the keyboard or the arrow keys to increase and decrease date and time values. The arrow keys can be used to move from section to section within the QDateTimeEdit box. Dates and times appear in accordance with the format set; see setDisplayFormat() .

dateEdit = QDateTimeEdit(QDate.currentDate())
dateEdit.setMinimumDate(QDate.currentDate().addDays(-365))
dateEdit.setMaximumDate(QDate.currentDate().addDays(365))
dateEdit.setDisplayFormat("yyyy.MM.dd")

Here we’ve created a new QDateTimeEdit object initialized with today’s date, and restricted the valid date range to today plus or minus 365 days. We’ve set the order to month, day, year.

The range of valid values for a QDateTimeEdit is controlled by the properties minimumDateTime , maximumDateTime , and their respective date and time components. By default, any date-time from the start of 100 CE to the end of 9999 CE is valid.

Using a Pop-up Calendar Widget#

QDateTimeEdit can be configured to allow a QCalendarWidget to be used to select dates. This is enabled by setting the calendarPopup property. Additionally, you can supply a custom calendar widget for use as the calendar pop-up by calling the setCalendarWidget() function. The existing calendar widget can be retrieved with calendarWidget() .

Keyboard Tracking#

When keyboard tracking is enabled (the default), every keystroke of editing a field triggers signals for value changes.

When the allowed range is narrower than some time interval whose end it straddles, keyboard tracking prevents the user editing the date or time to access the later part of the interval. For example, for a range from 29.04.2020 to 02.05.2020 and an initial date of 30.04.2020, the user can change neither the month (May 30th is outside the range) nor the day (April 2nd is outside the range).

When keyboard tracking is disabled, changes are only signalled when focus leaves the text field after edits have modified the content. This allows the user to edit via an invalid date-time to reach a valid one.

See also

QDateEdit QTimeEdit QDate QTime

class PySide6.QtWidgets.QDateTimeEdit(d[, parent=None])#

PySide6.QtWidgets.QDateTimeEdit(t[, parent=None])

PySide6.QtWidgets.QDateTimeEdit([parent=None])

PySide6.QtWidgets.QDateTimeEdit(dt[, parent=None])

PySide6.QtWidgets.QDateTimeEdit(val, parserType[, parent=None])

Parameters:

Constructs an empty date time editor with a parent. The value is set to date.

Constructs an empty date time editor with a parent. The value is set to time.

Constructs an empty date time editor with a parent.

Constructs an empty date time editor with a parent. The value is set to datetime.

Note

Properties can be used directly when from __feature__ import true_property is used or via accessor functions otherwise.

property PᅟySide6.QtWidgets.QDateTimeEdit.calendarPopup: bool#

This property holds The current calendar pop-up show mode..

The calendar pop-up will be shown upon clicking the arrow button. This property is valid only if there is a valid date display format.

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.currentSection: Section#

This property holds The current section of the spinbox..

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.currentSectionIndex: int#

This property holds The current section index of the spinbox..

If the format is ‘yyyy/MM/dd’, the displayText is ‘2001/05/21’, and the cursorPosition is 5, currentSectionIndex returns 1. If the cursorPosition is 3, currentSectionIndex is 0, and so on.

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.date: PySide6.QtCore.QDate#

This property holds The QDate that is set in the widget..

By default, this property contains a date that refers to January 1, 2000.

See also

time dateTime

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.dateTime: PySide6.QtCore.QDateTime#

This property holds The QDateTime that is set in the QDateTimeEdit ..

When setting this property, the new QDateTime is converted to the time system of the QDateTimeEdit , which thus remains unchanged.

By default, this property is set to the start of 2000 CE. It can only be set to a valid QDateTime value. If any operation causes this property to have an invalid date-time as value, it is reset to the value of the minimumDateTime property.

If the QDateTimeEdit has no date fields, setting this property sets the widget’s date-range to start and end on the date of the new value of this property.

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.displayFormat: str#

This property holds The format used to display the time/date of the date time edit..

This format is described in toString() and fromString()

Example format strings (assuming that the date is 2nd of July 1969):

Format

Result

dd.MM.yyyy

02.07.1969

MMM d yy

Jul 2 69

MMMM d yy

July 2 69

Note that if you specify a two digit year, it will be interpreted to be in the century in which the date time edit was initialized. The default century is the 21st (2000-2099).

If you specify an invalid format the format will not be set.

See also

toString() displayedSections()

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.displayedSections: Sections#

This property holds The currently displayed fields of the date time edit..

Returns a bit set of the displayed sections for this format.

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.maximumDate: PySide6.QtCore.QDate#

This property holds The maximum date of the date time edit..

Changing this property updates the date of the maximumDateTime property while preserving the maximumTime property. When setting this property, the minimumDate is adjusted, if necessary, to ensure that the range remains valid. When this happens, the minimumTime property is also adjusted if it is greater than the maximumTime property. Otherwise, changes to this property preserve the minimumDateTime property.

This property can only be set to a valid QDate object describing a date on which the current maximumTime property makes a valid QDateTime object. The latest date that setMaximumDate() accepts is the end of 9999 CE. This is the default for this property. This default can be restored with clearMaximumDateTime() .

See also

minimumDate maximumTime maximumDateTime setDateRange() isValid() Keyboard Tracking

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.maximumDateTime: PySide6.QtCore.QDateTime#

This property holds The maximum datetime of the date time edit..

Changing this property implicitly updates the maximumDate and maximumTime properties to the date and time parts of this property, respectively. When setting this property, the minimumDateTime is adjusted, if necessary, to ensure that the range remains valid. Otherwise, changing this property preserves the minimumDateTime property.

This property can only be set to a valid QDateTime value. The latest date-time that setMaximumDateTime() accepts is the end of 9999 CE. This is the default for this property. This default can be restored with clearMaximumDateTime().

See also

minimumDateTime maximumTime maximumDate() setDateTimeRange() isValid() Keyboard Tracking

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.maximumTime: PySide6.QtCore.QTime#

This property holds The maximum time of the date time edit..

Changing this property updates the time of the maximumDateTime property while preserving the minimumDate and maximumDate properties. If those date properties coincide, when setting this property, the minimumTime property is adjusted, if necessary, to ensure that the range remains valid. Otherwise, changing this property preserves the minimumDateTime property.

This property can be set to any valid QTime value. By default, this property contains a time of 23:59:59 and 999 milliseconds. This default can be restored with clearMaximumTime().

See also

minimumTime maximumDate maximumDateTime setTimeRange() isValid() Keyboard Tracking

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.minimumDate: PySide6.QtCore.QDate#

This property holds The minimum date of the date time edit..

Changing this property updates the date of the minimumDateTime property while preserving the minimumTime property. When setting this property, the maximumDate is adjusted, if necessary, to ensure that the range remains valid. When this happens, the maximumTime property is also adjusted if it is less than the minimumTime property. Otherwise, changes to this property preserve the maximumDateTime property.

This property can only be set to a valid QDate object describing a date on which the current minimumTime property makes a valid QDateTime object. The earliest date that setMinimumDate() accepts is the start of 100 CE. The default for this property is September 14, 1752 CE. This default can be restored with clearMinimumDateTime() .

See also

maximumDate minimumTime minimumDateTime setDateRange() isValid() Keyboard Tracking

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.minimumDateTime: PySide6.QtCore.QDateTime#

This property holds The minimum datetime of the date time edit..

Changing this property implicitly updates the minimumDate and minimumTime properties to the date and time parts of this property, respectively. When setting this property, the maximumDateTime is adjusted, if necessary, to ensure that the range remains valid. Otherwise, changing this property preserves the maximumDateTime property.

This property can only be set to a valid QDateTime value. The earliest date-time that setMinimumDateTime() accepts is the start of 100 CE. The property’s default is the start of September 14, 1752 CE. This default can be restored with clearMinimumDateTime().

See also

maximumDateTime minimumTime minimumDate setDateTimeRange() isValid() Keyboard Tracking

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.minimumTime: PySide6.QtCore.QTime#

This property holds The minimum time of the date time edit..

Changing this property updates the time of the minimumDateTime property while preserving the minimumDate and maximumDate properties. If those date properties coincide, when setting this property, the maximumTime property is adjusted, if necessary, to ensure that the range remains valid. Otherwise, changing this property preserves the maximumDateTime property.

This property can be set to any valid QTime value. By default, this property contains a time of 00:00:00 and 0 milliseconds. This default can be restored with clearMinimumTime().

See also

maximumTime minimumDate minimumDateTime setTimeRange() isValid() Keyboard Tracking

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.sectionCount: int#

This property holds The number of sections displayed. If the format is ‘yyyy/yy/yyyy’, sectionCount returns 3.

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.time: PySide6.QtCore.QTime#

This property holds The QTime that is set in the widget..

By default, this property contains a time of 00:00:00 and 0 milliseconds.

See also

date dateTime

Access functions:
property PᅟySide6.QtWidgets.QDateTimeEdit.timeSpec: TimeSpec#

This property holds The current timespec used by the date time edit..

Access functions:
PySide6.QtWidgets.QDateTimeEdit.Section#

Constant

Description

QDateTimeEdit.NoSection

QDateTimeEdit.AmPmSection

QDateTimeEdit.MSecSection

QDateTimeEdit.SecondSection

QDateTimeEdit.MinuteSection

QDateTimeEdit.HourSection

QDateTimeEdit.DaySection

QDateTimeEdit.MonthSection

QDateTimeEdit.YearSection

PySide6.QtWidgets.QDateTimeEdit.calendar()#
Return type:

PySide6.QtCore.QCalendar

PySide6.QtWidgets.QDateTimeEdit.calendarPopup()#
Return type:

bool

Getter of property calendarPopup .

PySide6.QtWidgets.QDateTimeEdit.calendarWidget()#
Return type:

PySide6.QtWidgets.QCalendarWidget

Returns the calendar widget for the editor if calendarPopup is set to true and (sections() & DateSections_Mask ) != 0.

This function creates and returns a calendar widget if none has been set.

PySide6.QtWidgets.QDateTimeEdit.clearMaximumDate()#

Reset function of property maximumDate .

PySide6.QtWidgets.QDateTimeEdit.clearMaximumDateTime()#

Reset function of property maximumDateTime .

PySide6.QtWidgets.QDateTimeEdit.clearMaximumTime()#

Reset function of property maximumTime .

PySide6.QtWidgets.QDateTimeEdit.clearMinimumDate()#

Reset function of property minimumDate .

PySide6.QtWidgets.QDateTimeEdit.clearMinimumDateTime()#

Reset function of property minimumDateTime .

PySide6.QtWidgets.QDateTimeEdit.clearMinimumTime()#

Reset function of property minimumTime .

PySide6.QtWidgets.QDateTimeEdit.currentSection()#
Return type:

Section

Getter of property currentSection .

PySide6.QtWidgets.QDateTimeEdit.currentSectionIndex()#
Return type:

int

Getter of property currentSectionIndex .

PySide6.QtWidgets.QDateTimeEdit.date()#
Return type:

PySide6.QtCore.QDate

Returns the date of the date time edit.

See also

setDate()

Getter of property date .

PySide6.QtWidgets.QDateTimeEdit.dateChanged(date)#
Parameters:

datePySide6.QtCore.QDate

This signal is emitted whenever the date is changed. The new date is passed in date.

See also

Keyboard Tracking

Notification signal of property date .

PySide6.QtWidgets.QDateTimeEdit.dateTime()#
Return type:

PySide6.QtCore.QDateTime

See also

setDateTime()

Getter of property dateTime .

PySide6.QtWidgets.QDateTimeEdit.dateTimeChanged(dateTime)#
Parameters:

dateTimePySide6.QtCore.QDateTime

This signal is emitted whenever the date or time is changed. The new date and time is passed in datetime.

See also

Keyboard Tracking

Notification signal of property dateTime .

PySide6.QtWidgets.QDateTimeEdit.dateTimeFromText(text)#
Parameters:

text – str

Return type:

PySide6.QtCore.QDateTime

Returns an appropriate datetime for the given text.

This virtual function is used by the datetime edit whenever it needs to interpret text entered by the user as a value.

See also

textFromDateTime() validate()

PySide6.QtWidgets.QDateTimeEdit.displayFormat()#
Return type:

str

Getter of property displayFormat .

PySide6.QtWidgets.QDateTimeEdit.displayedSections()#
Return type:

Sections

Getter of property displayedSections .

PySide6.QtWidgets.QDateTimeEdit.maximumDate()#
Return type:

PySide6.QtCore.QDate

See also

setMaximumDate()

Getter of property maximumDate .

PySide6.QtWidgets.QDateTimeEdit.maximumDateTime()#
Return type:

PySide6.QtCore.QDateTime

Getter of property maximumDateTime .

PySide6.QtWidgets.QDateTimeEdit.maximumTime()#
Return type:

PySide6.QtCore.QTime

See also

setMaximumTime()

Getter of property maximumTime .

PySide6.QtWidgets.QDateTimeEdit.minimumDate()#
Return type:

PySide6.QtCore.QDate

See also

setMinimumDate()

Getter of property minimumDate .

PySide6.QtWidgets.QDateTimeEdit.minimumDateTime()#
Return type:

PySide6.QtCore.QDateTime

Getter of property minimumDateTime .

PySide6.QtWidgets.QDateTimeEdit.minimumTime()#
Return type:

PySide6.QtCore.QTime

See also

setMinimumTime()

Getter of property minimumTime .

PySide6.QtWidgets.QDateTimeEdit.sectionAt(index)#
Parameters:

index – int

Return type:

Section

Returns the Section at index.

If the format is ‘yyyy/MM/dd’, sectionAt(0) returns YearSection , sectionAt(1) returns MonthSection , and sectionAt(2) returns YearSection ,

PySide6.QtWidgets.QDateTimeEdit.sectionCount()#
Return type:

int

Getter of property sectionCount .

PySide6.QtWidgets.QDateTimeEdit.sectionText(section)#
Parameters:

sectionSection

Return type:

str

Returns the text from the given section.

See also

currentSection()

PySide6.QtWidgets.QDateTimeEdit.setCalendar(calendar)#
Parameters:

calendarPySide6.QtCore.QCalendar

PySide6.QtWidgets.QDateTimeEdit.setCalendarPopup(enable)#
Parameters:

enable – bool

See also

calendarPopup()

Setter of property calendarPopup .

PySide6.QtWidgets.QDateTimeEdit.setCalendarWidget(calendarWidget)#
Parameters:

calendarWidgetPySide6.QtWidgets.QCalendarWidget

Sets the given calendarWidget as the widget to be used for the calendar pop-up. The editor does not automatically take ownership of the calendar widget.

Note

calendarPopup must be set to true before setting the calendar widget.

PySide6.QtWidgets.QDateTimeEdit.setCurrentSection(section)#
Parameters:

sectionSection

See also

currentSection()

Setter of property currentSection .

PySide6.QtWidgets.QDateTimeEdit.setCurrentSectionIndex(index)#
Parameters:

index – int

Setter of property currentSectionIndex .

PySide6.QtWidgets.QDateTimeEdit.setDate(date)#
Parameters:

datePySide6.QtCore.QDate

See also

date()

Setter of property date .

PySide6.QtWidgets.QDateTimeEdit.setDateRange(min, max)#
Parameters:

Warning

This section contains snippets that were automatically translated from C++ to Python and may contain errors.

Set the range of allowed dates for the date time edit.

This convenience function sets the minimumDate and maximumDate properties.

setDateRange(min, max)

is analogous to:

setMinimumDate(min)
setMaximumDate(max)

If either min or max is invalid, this function does nothing. This function preserves the minimumTime property. If max is less than min, the new maximumDateTime property shall be the new minimumDateTime property. If max is equal to min and the maximumTime property was less then the minimumTime property, the maximumTime property is set to the minimumTime property. Otherwise, this preserves the maximumTime property.

If the range is narrower then a time interval whose end it spans, for example a week that spans the end of a month, users can only edit the date to one in the later part of the range if keyboard-tracking is disabled.

See also

minimumDate maximumDate setDateTimeRange() isValid() Keyboard Tracking

PySide6.QtWidgets.QDateTimeEdit.setDateTime(dateTime)#
Parameters:

dateTimePySide6.QtCore.QDateTime

See also

dateTime()

Setter of property dateTime .

PySide6.QtWidgets.QDateTimeEdit.setDateTimeRange(min, max)#
Parameters:

Warning

This section contains snippets that were automatically translated from C++ to Python and may contain errors.

Set the range of allowed date-times for the date time edit.

This convenience function sets the minimumDateTime and maximumDateTime properties.

setDateTimeRange(min, max)

is analogous to:

setMinimumDateTime(min)
setMaximumDateTime(max)

If either min or max is invalid, this function does nothing. If max is less than min, min is used also as max.

If the range is narrower then a time interval whose end it spans, for example a week that spans the end of a month, users can only edit the date-time to one in the later part of the range if keyboard-tracking is disabled.

See also

minimumDateTime maximumDateTime setDateRange() setTimeRange() isValid() Keyboard Tracking

PySide6.QtWidgets.QDateTimeEdit.setDisplayFormat(format)#
Parameters:

format – str

See also

displayFormat()

Setter of property displayFormat .

PySide6.QtWidgets.QDateTimeEdit.setMaximumDate(max)#
Parameters:

maxPySide6.QtCore.QDate

See also

maximumDate()

Setter of property maximumDate .

PySide6.QtWidgets.QDateTimeEdit.setMaximumDateTime(dt)#
Parameters:

dtPySide6.QtCore.QDateTime

Setter of property maximumDateTime .

PySide6.QtWidgets.QDateTimeEdit.setMaximumTime(max)#
Parameters:

maxPySide6.QtCore.QTime

See also

maximumTime()

Setter of property maximumTime .

PySide6.QtWidgets.QDateTimeEdit.setMinimumDate(min)#
Parameters:

minPySide6.QtCore.QDate

See also

minimumDate()

Setter of property minimumDate .

PySide6.QtWidgets.QDateTimeEdit.setMinimumDateTime(dt)#
Parameters:

dtPySide6.QtCore.QDateTime

Setter of property minimumDateTime .

PySide6.QtWidgets.QDateTimeEdit.setMinimumTime(min)#
Parameters:

minPySide6.QtCore.QTime

See also

minimumTime()

Setter of property minimumTime .

PySide6.QtWidgets.QDateTimeEdit.setSelectedSection(section)#
Parameters:

sectionSection

Selects section. If section doesn’t exist in the currently displayed sections, this function does nothing. If section is NoSection , this function will unselect all text in the editor. Otherwise, this function will move the cursor and the current section to the selected section.

See also

currentSection()

PySide6.QtWidgets.QDateTimeEdit.setTime(time)#
Parameters:

timePySide6.QtCore.QTime

See also

time()

Setter of property time .

PySide6.QtWidgets.QDateTimeEdit.setTimeRange(min, max)#
Parameters:

Warning

This section contains snippets that were automatically translated from C++ to Python and may contain errors.

Set the range of allowed times for the date time edit.

This convenience function sets the minimumTime and maximumTime properties.

Note that these only constrain the date time edit’s value on, respectively, the minimumDate and maximumDate . When these date properties do not coincide, times after max are allowed on dates before maximumDate and times before min are allowed on dates after minimumDate .

setTimeRange(min, max)

is analogous to:

setMinimumTime(min)
setMaximumTime(max)

If either min or max is invalid, this function does nothing. This function preserves the minimumDate and maximumDate properties. If those properties coincide and max is less than min, min is used as max.

If the range is narrower then a time interval whose end it spans, for example the interval from ten to an hour to ten past the same hour, users can only edit the time to one in the later part of the range if keyboard-tracking is disabled.

See also

minimumTime maximumTime setDateTimeRange() isValid() Keyboard Tracking

PySide6.QtWidgets.QDateTimeEdit.setTimeSpec(spec)#
Parameters:

specTimeSpec

See also

timeSpec()

Setter of property timeSpec .

PySide6.QtWidgets.QDateTimeEdit.textFromDateTime(dt)#
Parameters:

dtPySide6.QtCore.QDateTime

Return type:

str

This virtual function is used by the date time edit whenever it needs to display dateTime.

If you reimplement this, you may also need to reimplement validate() .

See also

dateTimeFromText() validate()

PySide6.QtWidgets.QDateTimeEdit.time()#
Return type:

PySide6.QtCore.QTime

Returns the time of the date time edit.

See also

setTime()

Getter of property time .

PySide6.QtWidgets.QDateTimeEdit.timeChanged(time)#
Parameters:

timePySide6.QtCore.QTime

This signal is emitted whenever the time is changed. The new time is passed in time.

See also

Keyboard Tracking

Notification signal of property time .

PySide6.QtWidgets.QDateTimeEdit.timeSpec()#
Return type:

TimeSpec

See also

setTimeSpec()

Getter of property timeSpec .