- class QDateTimeEdit#
QDateTimeEdit
类提供了一个用于编辑日期和时间的控件。更多信息…继承自:
属性#
calendarPopup
- 当前的日历弹出显示模式currentSection
- 当前滚动框的当前部分currentSectionIndex
- 当前滚动框的当前部分索引date
- 被设置在该控件中的 QDatedateTime
- 在 QDateTimeEdit 中设置的 QDateTimedisplayFormat的格式
- 日期时间编辑中显示时间/日期使用的格式displayedSections的当前显示字段
- 当前日期时间编辑显示的字段maximumDate的最大日期
- 日期时间编辑的最大日期maximumDateTime的最大日期时间
- 日期时间编辑的最大日期时间maximumTime的最大时间
- 日期时间编辑的最大时间minimumDate的最小日期
- 日期时间编辑的最小日期minimumDateTime的最小日期时间
- 日期时间编辑的最小日期时间minimumTime的最小时间
- 日期时间编辑的最小时间sectionCount显示的部分数量
- 显示的部分数量。如果格式是 'yyyy/yy/yyyy',则 sectionCount 返回 3time设置的QTime
- 小部件中设置的 QTimetimeSpec当前日期时间编辑使用的timespec
- 当前日期时间编辑使用的 timespectimeZone当前日期时间编辑部件使用的时区
- 当前日期时间编辑部件使用的时区
方法#
def
__init__()
def
calendar()
def
calendarPopup()
def
calendarWidget()
定义
date()
定义
dateTime()
定义
sectionAt()
定义
time()
定义
timeSpec()
定义
timeZone()
虚方法#
槽#
信号#
注意
本文档可能包含从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.MonthSection
QDateTimeEdit.YearSection
注意
当使用
from__feature__import true_property
时,可以直接使用属性,否则通过访问器函数。- property calendarPopupᅟ: bool#
此属性包含当前日历弹出显示模式。
点击箭头按钮将显示日历弹出。此属性仅在存在有效的日期显示格式时有效。
另请参阅
- property currentSectionᅟ: QDateTimeEdit.Section#
此属性包含当前编辑框的当前部分。
- property currentSectionIndexᅟ: int#
此属性包含当前编辑框的当前部分索引。
如果格式为‘yyyy/MM/dd’,则显示文本是‘2001/05/21’,并且光标位置为5,当前部分索引返回1。如果光标位置为3,则当前部分索引为0,依此类推。
- 访问函数
此属性保存了在控件中设置的QDate。
默认情况下,此属性包含一个指向2000年1月1日的日期。
- 访问函数
此属性保存了在
QDateTimeEdit
中设置的 QDateTime。设置此属性时,新的 QDateTime 将转换为
QDateTimeEdit
的时间系统,因此保持不变。默认情况下,此属性设置为公元2000年开始。它只能设置为有效的 QDateTime 值。如果任何操作导致此属性的日期时间值无效,它将重置为
minimumDateTime
属性的值。如果
QDateTimeEdit
没有日期字段,设置此属性将使控件日期范围为起始和结束在本属性的新的日期值。- 访问函数
- 属性 displayFormatᅟ: str#
此属性保存用于显示日期时间编辑器的日期/时间的格式。
此格式在 QDateTime::toString() 和 QDateTime::fromString() 中描述。
示例格式字符串(假设日期为1969年7月2日)
格式
结果
dd.MM.yyyy
02.07.1969
MMM d yy
Jul 2 69
MMMM d yy
July 2 69
请注意,如果您指定了两位数的年份,它将被解释为在日期时间编辑初始化的世纪内。默认世纪是21世纪(2000-2099)。
如果指定了无效的格式,则格式不会被设置。
另请参阅
- 属性 displayedSectionsᅟ: QDateTimeEdit.Section的组合#
此属性持有日期时间编辑当前显示的字段。
返回此格式的显示部分的位集。
- 访问函数
此属性包含日期时间编辑的最大日期。
更改此属性会在保留
maximumTime
属性的情况下更新maximumDateTime
属性的日期。如果需要,将调整minimumDate
以保证范围有效。此时如果minimumTime
属性大于maximumTime
属性,它也会被调整。否则,此属性的更改会保留minimumDateTime
属性。此属性只能设置为有效的QDate对象,描述一个当前
maximumTime
属性可以创建有效的QDateTime对象的日期。setMaximumDate()可以接受的最晚日期是公元9999年的结束。这是此属性的默认值。可以通过clearMaximumDateTime()
恢复此默认值。另请参阅
此属性保存日期时间编辑器的最大日期时间。
修改此属性会隐式地将
maximumDate
和maximumTime
属性分别更新到此属性的日期和时间段。设置此属性时,如果需要,会调整minimumDateTime
,以确保范围保持有效。否则,修改此属性将保持minimumDateTime
属性。此属性只能设置为有效的 QDateTime 值。setMaximumDateTime() 能够接受的最新日期时间是公元 9999 年底。这是此属性的默认值。可以通过 clearMaximumDateTime() 恢复此默认值。
此属性保存日期时间编辑器的最大时间。
修改此属性同时更新
maximumDateTime
属性的时间,同时保留minimumDate
和maximumDate
属性。如果这些日期属性相同,设置此属性时,如果需要,会调整minimumTime
属性,以确保范围保持有效。否则,修改此属性将保持minimumDateTime
属性。此属性可以设置为任何有效的 QTime 值。默认情况下,此属性包含 23:59:59 和 999 毫秒的时间。可以通过 clearMaximumTime() 恢复此默认值。
另请参阅
minimumTime
maximumDate
maximumDateTime
setTimeRange()
键盘 跟踪
此属性保存日期时间编辑器中的最小日期。
修改此属性将更新
minimumDateTime
属性的日期,同时保留minimumTime
属性。设置此属性时,如果需要,还会调整maximumDate
,以确保范围仍然有效。在这种情况下,如果maximumTime
属性小于minimumTime
属性,则也会调整maximumTime
属性。否则,对此属性的更改将保留maximumDateTime
属性。此属性只能设置为有效 QDate 对象,描述一个 current
minimumTime
属性可以生成有效的 QDateTime 对象的日期。setMinimumDate() 接受的最早日期是公元 100 年的开始。此属性的默认值是公元 1752 年 9 月 14 日。此默认值可以通过clearMinimumDateTime()
恢复。另请参阅
maximumDate
minimumTime
minimumDateTime
setDateRange()
键盘 跟踪
此属性保存日期时间编辑器的最小日期时间。
更改此属性会隐式更新
minimumDate
和minimumTime
属性,分别对应此属性中的日期和时间部分。在设置此属性时,如果需要,会调整maximumDateTime
,以确保范围有效。否则,更改此属性将保留maximumDateTime
属性。此属性只能设置有效的 QDateTime 值。setMinimumDateTime() 接受的最早日期时间为公元100年的开始。属性的默认值是公元1752年9月14日的开始。可以通过 clearMinimumDateTime() 恢复此默认值。
另请参阅
maximumDateTime
minimumTime
minimumDate
setDateTimeRange()
Keyboard Tracking
此属性保存日期时间编辑器的最小时间。
更改此属性会更新
minimumDateTime
属性中的时间,同时保留minimumDate
和maximumDate
属性。如果这些日期属性重合,设置此属性时,如果需要,会调整maximumTime
属性,以确保范围有效。否则,更改此属性将保留maximumDateTime
属性。此属性可以设置任何有效的 QTime 值。默认情况下,此属性包含 00:00:00 和 0 毫秒的时间。可以通过 clearMinimumTime() 恢复此默认值。
另请参阅
maximumTime minimumDate minimumDateTime setTimeRange()
Keyboard Tracking
- 属性 sectionCount: int#
该属性保存显示的部分数。如果格式为‘yyyy/yy/yyyy’,则sectionCount返回3。
- 访问函数
该属性保存小部件中设置的QTime。
默认情况下,此属性包含的时间为00:00:00和0毫秒。
- 访问函数
- 属性 timeSpec: Qt.TimeSpec#
使用 timeZone 代替。
该属性保存日期时间编辑中当前使用的timespec。
从Qt 6.7开始,这是对
timeZone
属性的间接访问器。另请参阅
- 访问函数
该属性保存日期时间编辑控件当前使用的时区。
如果使用的日期时间格式包含时区指示器-即,一个
t
,tt
,ttt
或tttt
格式说明符-每当解析用户输入时,都重新表示此时区,会覆盖用户可能指定的任何时区。另请参阅
- 访问函数
使用父对象创建一个空的日期时间编辑器,并将其值设置为
time
。使用父对象创建一个空的日期时间编辑器,并将其值设置为
date
。- __init__([parent=None])
- 参数:
parent –
QWidget
使用父对象创建一个空的日期时间编辑器。
使用父对象创建一个空的日期时间编辑器,并将其值设置为
datetime
。- calendarPopup()#
- 返回类型:
布尔值
另请参阅
获取属性
calendarPopup
的值。- calendarWidget()#
- 返回类型:
如果设置
calendarPopup
为 True 且 (sections() &DateSections Маск
) ≠ 0,则返回编辑器的日历小部件。此函数创建并返回一个日历小部件,如果没有设置。
另请参阅
- clearMaximumDate()#
重置
maximumDate
属性的函数。- clearMaximumDateTime()#
重置
maximumDateTime
属性的函数。- clearMaximumTime()#
重置
maximumTime
属性的函数。- clearMinimumDate()#
重置
minimumDate
属性的函数。- clearMinimumDateTime()#
重置
minimumDateTime
属性的函数。- clearMinimumTime()#
重置
minimumTime
属性的函数。- currentSection()#
- 返回类型:
另请参阅
currentSection
属性的获取器。- currentSectionIndex()#
- 返回类型:
int
另请参阅
currentSectionIndex
属性的获取器。返回日期时间编辑的日期。
另请参阅
date
属性的获取器。每当日期更改时,都会发出此信号。新的日期通过
date
传递。另请参阅
键盘跟踪
属性
dateᅟ
的通知信号。- dateTime()#
- 返回类型:
另请参阅
属性
dateTimeᅟ
的获取器。当日期或时间更改时,会发出此信号。新的日期和时间通过
datetime
传递。另请参阅
键盘跟踪
属性
dateTimeᅟ
的通知信号。返回对应给定
text
的合适日期和时间。此虚拟函数在日期时间编辑器需要将用户输入的文本解释为值时使用。
另请参阅
textFromDateTime()
validate()
- displayFormat()#
- 返回类型:
str
另请参阅
属性
displayFormatᅟ
的获取器。属性
displayedSectionsᅟ
的获取器。- maximumDate()#
- 返回类型:
另请参阅
属性
maximumDate
的获取器。- maximumDateTime()#
- 返回类型:
另请参阅
属性
maximumDateTime
的获取器。- maximumTime()#
- 返回类型:
另请参阅
属性
maximumTime
的获取器。- minimumDate()#
- 返回类型:
另请参阅
属性
minimumDate
的获取器。- minimumDateTime()#
- 返回类型:
另请参阅
属性
minimumDateTime
的获取器。- minimumTime()#
- 返回类型:
另请参阅
属性
minimumTime
的获取器。返回
index
的部分。如果格式是‘yyyy/MM/dd’,则 sectionAt(0) 返回
YearSection
,sectionAt(1) 返回MonthSection
,sectionAt(2) 返回YearSection
,- sectionCount()#
- 返回类型:
int
属性
sectionCount
的获取器。返回给定
section
的文本。另请参阅
- setCalendarPopup(enable)#
- 参数:
enable – bool
另请参阅
属性
calendarPopup
的设置器。- setCalendarWidget(calendarWidget)#
- 参数:
calendarWidget –
QCalendarWidget
将指定的
calendarWidget
设置为用于日历弹出窗口的小部件。编辑器不会自动获得日历小部件的所有权。属性
currentSection
的设置器。属性
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
属性。如果范围比所跨越的时间间隔更窄,例如跨越月底的一周,如果禁用键盘跟踪,则用户只能编辑到范围内后续日期。
另请参阅
minimumDate
maximumDate
setDateTimeRange()
Keyboard Tracking
属性 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)#
- 参数:
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ᅟ
的setter。属性
timeZoneᅟ
的setter。此虚拟函数用于任何数据时间编辑器需要显示
dateTime
时使用。如果您实现此功能,可能还需要重新实现
validate()
。另请参阅
dateTimeFromText()
validate()
返回日期时间编辑器的当前时间。
另请参阅
属性
时间ᅟ
的获取器。当时间改变时,会触发此信号。新时间通过
时间
传递。另请参阅
键盘跟踪
属性
时间ᅟ
的通知信号。- 时间规格()#
- 返回类型:
另请参阅
属性
时间规格ᅟ
的获取器。- 时区()#
- 返回类型:
另请参阅
属性
时区ᅟ
的获取器。