PySide6.QtWidgets.QDateTimeEdit¶
- class QDateTimeEdit¶
QDateTimeEdit
类提供了一个用于编辑日期和时间的部件。更多…概要¶
属性¶
calendarPopupᅟ
- 当前日历弹窗显示模式currentSectionᅟ
- 微调框的当前部分currentSectionIndexᅟ
- 旋转框的当前部分索引dateᅟ
- 小部件中设置的QDatedateTimeᅟ
- 在QDateTimeEdit中设置的QDateTimedisplayFormatᅟ
- 用于显示日期时间编辑的时间/日期的格式displayedSectionsᅟ
- 当前显示的日期时间编辑字段maximumDateᅟ
- 日期时间编辑的最大日期maximumDateTimeᅟ
- 日期时间编辑的最大日期时间maximumTimeᅟ
- 日期时间编辑的最大时间minimumDateᅟ
- 日期时间编辑的最小日期minimumDateTimeᅟ
- 日期时间编辑的最小日期时间minimumTimeᅟ
- 日期时间编辑的最小时间sectionCountᅟ
- 显示的节数。如果格式是‘yyyy/yy/yyyy’,sectionCount返回3timeᅟ
- 小部件中设置的QTimetimeSpecᅟ
- 当前日期时间编辑使用的时间规范timeZoneᅟ
- 当前日期时间编辑小部件使用的时区
方法¶
def
__init__()
def
calendar()
def
calendarPopup()
def
calendarWidget()
def
currentSection()
def
date()
def
dateTime()
def
displayFormat()
def
maximumDate()
def
maximumTime()
def
minimumDate()
def
minimumTime()
def
sectionAt()
def
sectionCount()
def
sectionText()
def
setCalendar()
def
setDateRange()
def
setMaximumDate()
def
setMaximumTime()
def
setMinimumDate()
def
setMinimumTime()
def
setTimeRange()
def
setTimeSpec()
def
setTimeZone()
def
time()
def
timeSpec()
def
timeZone()
虚拟方法¶
插槽¶
def
setDate()
def
setDateTime()
def
setTime()
信号¶
def
dateChanged()
def
timeChanged()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
QDateTimeEdit
允许用户通过使用键盘或箭头键来增加和减少日期和时间值来编辑日期。箭头键可用于在QDateTimeEdit
框内的各个部分之间移动。日期和时间按照设置的格式显示;请参阅setDisplayFormat()
。dateEdit = QDateTimeEdit(QDate.currentDate()) dateEdit.setMinimumDate(QDate.currentDate().addDays(-365)) dateEdit.setMaximumDate(QDate.currentDate().addDays(365)) dateEdit.setDisplayFormat("yyyy.MM.dd")
在这里,我们创建了一个新的
QDateTimeEdit
对象,初始化为今天的日期,并将有效日期范围限制为今天加减365天。我们将顺序设置为月、日、年。QDateTimeEdit
的有效值范围由属性minimumDateTime
和maximumDateTime
及其各自的日期和时间组件控制。默认情况下,从公元100年开始到公元9999年结束的任何日期时间都是有效的。使用弹出日历小部件¶
QDateTimeEdit
可以配置为允许使用QCalendarWidget
来选择日期。这是通过设置calendarPopup
属性来启用的。此外,您可以通过调用setCalendarWidget()
函数提供一个自定义的日历小部件作为日历弹出窗口。现有的日历小部件可以通过calendarWidget()
来获取。键盘跟踪¶
当启用
keyboard tracking
(默认情况下),编辑字段的每次击键都会触发值更改的信号。当允许的
range
比某个跨越其结束时间的时间间隔更窄时,键盘跟踪会阻止用户编辑日期或时间以访问间隔的后期部分。例如,对于从29.04.2020到02.05.2020的范围和初始日期30.04.2020,用户既不能更改月份(5月30日超出范围)也不能更改日期(4月2日超出范围)。当键盘跟踪被禁用时,只有在编辑修改内容后焦点离开文本字段时才会发出更改信号。这允许用户通过无效的日期时间进行编辑以达到有效的日期时间。
- class Section¶
常量
描述
QDateTimeEdit.NoSection
QDateTimeEdit.AmPmSection
QDateTimeEdit.MSecSection
QDateTimeEdit.SecondSection
QDateTimeEdit.MinuteSection
QDateTimeEdit.HourSection
QDateTimeEdit.DaySection
QDateTimeEdit.月份部分
QDateTimeEdit.YearSection
注意
当使用
from __feature__ import true_property
时,属性可以直接使用,否则通过访问器函数使用。- property calendarPopupᅟ: bool¶
此属性保存当前日历弹出显示模式。
点击箭头按钮后将显示日历弹出窗口。此属性仅在存在有效日期显示格式时有效。
另请参阅
- Access functions:
- property currentSectionᅟ: QDateTimeEdit.Section¶
此属性保存微调框的当前部分。
- Access functions:
- property currentSectionIndexᅟ: int¶
此属性保存微调框的当前部分索引。
如果格式是‘yyyy/MM/dd’,显示文本是‘2001/05/21’,且光标位置是5,currentSectionIndex返回1。如果光标位置是3,currentSectionIndex是0,以此类推。
- Access functions:
此属性保存小部件中设置的 QDate。
默认情况下,此属性包含一个日期,指的是2000年1月1日。
- Access functions:
此属性保存了在
QDateTimeEdit
中设置的QDateTime。设置此属性时,新的QDateTime会转换为
QDateTimeEdit
的时间系统,因此保持不变。默认情况下,此属性设置为公元2000年的开始。它只能设置为有效的QDateTime值。如果任何操作导致此属性的值为无效的日期时间,它将重置为
minimumDateTime
属性的值。如果
QDateTimeEdit
没有日期字段,设置此属性会将小部件的日期范围设置为从该属性的新值的日期开始和结束。- Access functions:
- property displayFormatᅟ: str¶
此属性保存用于显示日期时间编辑的时间/日期的格式。
此格式在QDateTime::toString()和QDateTime::fromString()中描述
示例格式字符串(假设日期为1969年7月2日):
格式
结果
dd.MM.yyyy
02.07.1969
MMM d yy
7月2日69
MMMM d yy
7月2日 69
请注意,如果您指定一个两位数的年份,它将被解释为日期时间编辑初始化时所在的世纪。默认的世纪是21世纪(2000-2099)。
如果您指定了无效的格式,该格式将不会被设置。
另请参阅
- Access functions:
- property displayedSectionsᅟ: Combination of QDateTimeEdit.Section¶
此属性保存日期时间编辑器中当前显示的字段。
返回此格式显示的部分的位集。
- Access functions:
此属性保存日期时间编辑的最大日期。
更改此属性会更新
maximumDateTime
属性的日期,同时保留maximumTime
属性。设置此属性时,minimumDate
会根据需要进行调整,以确保范围仍然有效。当这种情况发生时,如果minimumTime
属性大于maximumTime
属性,则也会调整minimumTime
属性。否则,对此属性的更改将保留minimumDateTime
属性。此属性只能设置为描述当前
maximumTime
属性有效的QDate对象,该属性使QDateTime对象有效。setMaximumDate()接受的最晚日期是公元9999年底。这是此属性的默认值。可以通过clearMaximumDateTime()
恢复此默认值。另请参阅
minimumDate
maximumTime
maximumDateTime
setDateRange()
键盘 跟踪
- Access functions:
此属性保存日期时间编辑的最大日期时间。
更改此属性会隐式更新
maximumDate
和maximumTime
属性,分别为此属性的日期和时间部分。设置此属性时,minimumDateTime
会根据需要进行调整,以确保范围保持有效。否则,更改此属性将保留minimumDateTime
属性。此属性只能设置为有效的QDateTime值。setMaximumDateTime()接受的最晚日期时间是公元9999年的结束。这是此属性的默认值。可以通过clearMaximumDateTime()恢复此默认值。
- Access functions:
此属性保存日期时间编辑的最大时间。
更改此属性会更新
maximumDateTime
属性的时间,同时保留minimumDate
和maximumDate
属性。如果这些日期属性重合,在设置此属性时,minimumTime
属性会根据需要进行调整,以确保范围仍然有效。否则,更改此属性会保留minimumDateTime
属性。此属性可以设置为任何有效的QTime值。默认情况下,此属性包含的时间为23:59:59和999毫秒。可以使用clearMaximumTime()恢复此默认值。
另请参阅
minimumTime
maximumDate
maximumDateTime
setTimeRange()
Keyboard Tracking
- Access functions:
此属性保存日期时间编辑的最小日期。
更改此属性会更新
minimumDateTime
属性的日期,同时保留minimumTime
属性。设置此属性时,maximumDate
会根据需要进行调整,以确保范围仍然有效。当这种情况发生时,如果maximumTime
属性小于minimumTime
属性,它也会被调整。否则,对此属性的更改将保留maximumDateTime
属性。此属性只能设置为描述当前
minimumTime
属性构成有效QDateTime对象的有效QDate对象。setMinimumDate()接受的最早日期是公元100年的开始。此属性的默认值为公元1752年9月14日。可以通过clearMinimumDateTime()
恢复此默认值。另请参阅
maximumDate
minimumTime
minimumDateTime
setDateRange()
键盘 跟踪
- Access functions:
此属性保存日期时间编辑的最小日期时间。
更改此属性会隐式更新
minimumDate
和minimumTime
属性,分别为此属性的日期和时间部分。设置此属性时,maximumDateTime
会根据需要进行调整,以确保范围保持有效。否则,更改此属性会保留maximumDateTime
属性。此属性只能设置为有效的QDateTime值。setMinimumDateTime()接受的最早日期时间是公元100年的开始。该属性的默认值是公元1752年9月14日的开始。可以通过clearMinimumDateTime()恢复此默认值。
另请参阅
maximumDateTime
minimumTime
minimumDate
setDateTimeRange()
键盘 跟踪
- Access functions:
此属性保存日期时间编辑的最小时间。
更改此属性会更新
minimumDateTime
属性的时间,同时保留minimumDate
和maximumDate
属性。如果这些日期属性重合,在设置此属性时,maximumTime
属性会根据需要进行调整,以确保范围仍然有效。否则,更改此属性会保留maximumDateTime
属性。此属性可以设置为任何有效的QTime值。默认情况下,此属性包含的时间为00:00:00和0毫秒。可以通过clearMinimumTime()恢复此默认值。
另请参阅
maximumTime
minimumDate
minimumDateTime
setTimeRange()
键盘 跟踪
- Access functions:
- property sectionCountᅟ: int¶
此属性保存显示的节数。如果格式为‘yyyy/yy/yyyy’,sectionCount 返回 3。
- Access functions:
此属性保存小部件中设置的QTime。
默认情况下,此属性包含时间为00:00:00和0毫秒。
- Access functions:
- property timeSpecᅟ: Qt.TimeSpec¶
请使用
timeZone
代替。此属性保存日期时间编辑使用的当前时间规范。
自 Qt 6.7 起,这是对
timeZone
属性的间接访问器。另请参阅
- Access functions:
此属性保存日期时间编辑小部件使用的当前时区。
如果使用的日期时间格式包含时区指示符 - 即
t
,tt
,ttt
或tttt
格式说明符 - 每当解析用户输入时,用户的输入将重新表示为该时区,覆盖用户可能指定的任何时区。另请参阅
- Access functions:
构造一个带有
parent
的空日期时间编辑器。使用
parent
构造一个空的日期时间编辑器。值设置为date
。使用
parent
构造一个空的日期时间编辑器。值设置为time
。使用
parent
构造一个空的日期时间编辑器。值设置为datetime
。报告此小部件使用的日历系统。
另请参阅
- calendarPopup()¶
- Return type:
布尔
另请参阅
属性
calendarPopupᅟ
的获取器。- calendarWidget()¶
- Return type:
如果
calendarPopup
设置为true且(sections() &DateSections_Mask
) != 0,则返回编辑器的日历小部件。如果没有设置日历小部件,此函数将创建并返回一个日历小部件。
另请参阅
- clearMaximumDate()¶
属性
maximumDateᅟ
的重置功能。- clearMaximumDateTime()¶
属性
maximumDateTimeᅟ
的重置函数。- clearMaximumTime()¶
属性
maximumTimeᅟ
的重置功能。- clearMinimumDate()¶
属性
minimumDateᅟ
的重置功能。- clearMinimumDateTime()¶
属性
minimumDateTimeᅟ
的重置功能。- clearMinimumTime()¶
属性
minimumTimeᅟ
的重置功能。- currentSection()¶
- Return type:
另请参阅
属性
currentSectionᅟ
的获取器。- currentSectionIndex()¶
- Return type:
整数
属性
currentSectionIndexᅟ
的获取器。返回日期时间编辑的日期。
另请参阅
属性
dateᅟ
的获取器。每当日期更改时,都会发出此信号。新日期在
date
中传递。另请参阅
Keyboard Tracking
属性
dateᅟ
的通知信号。- dateTime()¶
- Return type:
另请参阅
属性
dateTimeᅟ
的获取器。每当日期或时间发生变化时,都会发出此信号。新的日期和时间通过
datetime
传递。另请参阅
键盘 跟踪
属性
dateTimeᅟ
的通知信号。返回给定
text
的适当日期时间。每当需要将用户输入的文本解释为值时,日期时间编辑就会使用此虚拟函数。
另请参阅
textFromDateTime()
validate()
- displayFormat()¶
- Return type:
字符串
另请参阅
属性
displayFormatᅟ
的获取器。属性
displayedSectionsᅟ
的获取器。- maximumDate()¶
- Return type:
另请参阅
属性
maximumDateᅟ
的获取器。- maximumDateTime()¶
- Return type:
另请参阅
属性
maximumDateTimeᅟ
的获取器。- maximumTime()¶
- Return type:
另请参阅
属性
maximumTimeᅟ
的获取器。- minimumDate()¶
- Return type:
另请参阅
属性
minimumDateᅟ
的获取器。- minimumDateTime()¶
- Return type:
另请参阅
属性
minimumDateTimeᅟ
的获取器。- minimumTime()¶
- Return type:
另请参阅
属性
minimumTimeᅟ
的获取器。返回位于
index
处的部分。如果格式是‘yyyy/MM/dd’,sectionAt(0) 返回
YearSection
,sectionAt(1) 返回MonthSection
,sectionAt(2) 返回YearSection
,- sectionCount()¶
- Return type:
整数
属性
sectionCountᅟ
的获取器。返回给定
section
中的文本。另请参阅
将
calendar
设置为此小部件使用的日历系统。该小部件可以使用任何支持的日历系统。默认情况下,它使用公历。
另请参阅
- setCalendarPopup(enable)¶
- Parameters:
enable – 布尔值
另请参阅
属性
calendarPopupᅟ
的设置器。- setCalendarWidget(calendarWidget)¶
- Parameters:
calendarWidget –
QCalendarWidget
将给定的
calendarWidget
设置为用于日历弹出窗口的小部件。编辑器不会自动获取日历小部件的所有权。属性
currentSectionᅟ
的设置器。- setCurrentSectionIndex(index)¶
- Parameters:
索引 – int
属性
currentSectionIndexᅟ
的设置器。属性
dateᅟ
的设置器。警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
设置日期时间编辑的允许日期范围。
此便捷函数设置了
minimumDate
和maximumDate
属性。setDateRange(min, max)
类似于:
setMinimumDate(min) setMaximumDate(max)
如果
min
或max
无效,此函数不执行任何操作。此函数保留minimumTime
属性。如果max
小于min
,新的maximumDateTime
属性将成为新的minimumDateTime
属性。如果max
等于min
且maximumTime
属性小于minimumTime
属性,则maximumTime
属性将设置为minimumTime
属性。否则,此函数保留maximumTime
属性。如果范围较窄,跨越了一个时间间隔的结束,例如跨越一个月结束的一周,如果键盘跟踪被禁用,用户只能将日期编辑为范围较晚部分的日期。
另请参阅
属性
dateTimeᅟ
的设置器。警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
设置日期时间编辑的允许日期时间范围。
此便捷函数设置了
minimumDateTime
和maximumDateTime
属性。setDateTimeRange(min, max)
类似于:
setMinimumDateTime(min) setMaximumDateTime(max)
如果
min
或max
无效,此函数不执行任何操作。如果max
小于min
,则min
也将用作max
。如果范围较窄,跨越了一个时间间隔的结束,例如跨越一个月结束的一周,如果键盘跟踪被禁用,用户只能将日期时间编辑为范围较后部分的一个。
另请参阅
minimumDateTime
maximumDateTime
setDateRange()
setTimeRange()
Keyboard Tracking
- setDisplayFormat(format)¶
- Parameters:
format – str
另请参阅
属性
displayFormatᅟ
的设置器。属性
maximumDateᅟ
的设置器。属性
maximumDateTimeᅟ
的设置器。属性
maximumTimeᅟ
的设置器。属性
minimumDateᅟ
的设置器。属性
minimumDateTimeᅟ
的设置器。属性
minimumTimeᅟ
的设置器。选择
section
。如果当前显示的部分中不存在section
,此函数不执行任何操作。如果section
是NoSection
,此函数将取消选择编辑器中的所有文本。否则,此函数将移动光标并将当前部分移动到所选部分。另请参阅
属性
timeᅟ
的设置器。警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
设置日期时间编辑的允许时间范围。
这个便捷函数设置了
minimumTime
和maximumTime
属性。请注意,这些仅分别约束日期时间编辑的值在
minimumDate
和maximumDate
上。当这些日期属性不一致时,允许在maximumDate
之前的日期上使用max
之后的时间,以及在minimumDate
之后的日期上使用min
之前的时间。setTimeRange(min, max)
类似于:
setMinimumTime(min) setMaximumTime(max)
如果
min
或max
无效,此函数不执行任何操作。此函数保留minimumDate
和maximumDate
属性。如果这些属性一致且max
小于min
,则使用min
作为max
。如果范围比它所跨越的时间间隔更窄,例如从十点到同一小时的十点过十分的时间间隔,如果键盘跟踪被禁用,用户只能将时间编辑到范围的后半部分。
另请参阅
属性
timeSpecᅟ
的设置器。属性
timeZoneᅟ
的设置器。每当需要显示
dateTime
时,日期时间编辑都会使用此虚拟函数。如果你重新实现这个,你可能也需要重新实现
validate()
。另请参阅
dateTimeFromText()
validate()
返回日期时间编辑的时间。
另请参阅
属性
timeᅟ
的获取器。每当时间改变时,就会发出此信号。新时间在
time
中传递。另请参阅
键盘 跟踪
属性
timeᅟ
的通知信号。- timeSpec()¶
- Return type:
注意
此函数已弃用。
另请参阅
属性
timeSpecᅟ
的获取器。- timeZone()¶
- Return type:
另请参阅
获取属性
timeZoneᅟ
的Getter。