PySide6.QtWidgets.QCalendarWidget¶
- class QCalendarWidget¶
QCalendarWidget类提供了一个基于月份的日历小部件,允许用户选择日期。更多…概要¶
属性¶
dateEditAcceptDelayᅟ- 非活动日期编辑在内容被接受之前显示的时间dateEditEnabledᅟ- 是否启用日期编辑弹出窗口firstDayOfWeekᅟ- 标识第一列中显示的日期的值gridVisibleᅟ- 是否显示表格网格horizontalHeaderFormatᅟ- 水平标题的格式maximumDateᅟ- 当前指定日期范围的最大日期minimumDateᅟ- 当前指定日期范围的最小日期navigationBarVisibleᅟ- 导航栏是否显示selectedDateᅟ- 当前选定的日期selectionModeᅟ- 用户可以在日历中进行的选择类型verticalHeaderFormatᅟ- 垂直标题的格式
方法¶
def
__init__()def
calendar()def
dateTextFormat()def
firstDayOfWeek()def
isGridVisible()def
maximumDate()def
minimumDate()def
monthShown()def
selectedDate()def
selectionMode()def
setCalendar()def
setMaximumDate()def
setMinimumDate()def
updateCell()def
updateCells()def
yearShown()
虚拟方法¶
def
paintCell()
插槽¶
def
setCurrentPage()def
setDateRange()def
setGridVisible()def
showNextMonth()def
showNextYear()def
showToday()
信号¶
def
activated()def
clicked()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
小部件初始化为当前月份和年份,但
QCalendarWidget提供了几个公共槽来更改显示的年份和月份。默认情况下,选择今天的日期,用户可以使用鼠标和键盘选择日期。可以使用
selectedDate()函数检索当前选择的日期。可以通过设置minimumDate和maximumDate属性来限制用户选择的日期范围。或者,可以使用setDateRange()便捷插槽一次性设置这两个属性。将selectionMode属性设置为NoSelection以完全禁止用户选择。请注意,也可以使用setSelectedDate()插槽以编程方式选择日期。当前显示的月份和年份可以分别使用
monthShown()和yearShown()函数来获取。一个新创建的日历小部件使用缩写的星期名称,星期六和星期日都以红色标记。日历网格不可见。显示周数,第一列的日子是日历区域设置的一周的第一天。
通过将
horizontalHeaderFormat属性设置为SingleLetterDayNames,可以将日期的表示更改为单个字母的缩写(“M”表示“星期一”)。将相同的属性设置为LongDayNames可以使标题显示完整的日期名称。通过将verticalHeaderFormat属性设置为NoVerticalHeader,可以移除周数。通过使用setGridVisible()函数将gridVisible属性设置为true,可以打开日历网格:
calendar = QCalendarWidget() calendar.setGridVisible(True)
最后,可以使用
setFirstDayOfWeek()函数更改第一列中的日期。QCalendarWidget类还提供了三个信号,selectionChanged()、activated()和currentPageChanged(),使得可以响应用户的交互。通过为某些特殊星期、特殊日期或标题的渲染设置QTextCharFormat,可以很大程度上自定义标题、工作日或单日的渲染。
日历小部件仅使用了QTextCharFormat中的一部分属性。目前,前景色、背景色和字体属性用于确定小部件中各个单元格的渲染。
另请参阅
- class HorizontalHeaderFormat¶
此枚举类型定义了水平标题可以显示的各种格式。
常量
描述
QCalendarWidget.SingleLetterDayNames
标题显示日期的单字母缩写(例如,M 表示星期一)。
QCalendarWidget.ShortDayNames
标题显示日期的简短缩写(例如,周一显示为Mon)。
QCalendarWidget.LongDayNames
标题显示完整的星期名称(例如星期一)。
QCalendarWidget.NoHorizontalHeader
标题被隐藏。
- class VerticalHeaderFormat¶
此枚举类型定义了垂直标题可以显示的各种格式。
常量
描述
QCalendarWidget.ISOWeekNumbers
标题显示由QDate::weekNumber()描述的ISO周数。
QCalendarWidget.NoVerticalHeader
标题被隐藏。
- class SelectionMode¶
此枚举描述了在日历中选择日期时提供给用户的选择类型。
常量
描述
QCalendarWidget.NoSelection
日期不能被选择。
QCalendarWidget.SingleSelection
可以选择单个日期。
另请参阅
注意
当使用
from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。- property dateEditAcceptDelayᅟ: int¶
此属性保存非活动日期编辑在内容被接受之前显示的时间。
如果日历小部件的
date edit is enabled,此属性指定在最近一次用户输入后,日期编辑保持打开的时间(以毫秒为单位)。一旦这段时间过去,日期编辑中指定的日期将被接受,并且弹出窗口将关闭。默认情况下,延迟被定义为1500毫秒(1.5秒)。
- Access functions:
- property dateEditEnabledᅟ: bool¶
此属性保存日期编辑弹出窗口是否启用。
如果启用了此属性,当日历小部件获得焦点时,按下非修饰键将导致日期编辑弹出,允许用户以当前区域设置指定的格式指定日期。
默认情况下,此属性已启用。
日期编辑在外观上比
QDateEdit更简单,但允许用户使用左右光标键在字段之间导航,使用上下光标键增加和减少单个字段,并使用数字键直接输入值。另请参阅
- Access functions:
- property firstDayOfWeekᅟ: Qt.DayOfWeek¶
此属性保存一个值,用于标识第一列中显示的日期。
默认情况下,第一列中显示的日期是日历区域设置的一周的第一天。
- Access functions:
- property gridVisibleᅟ: bool¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
此属性表示是否显示表格网格。

calendar = QCalendarWidget() calendar.setGridVisible(True)
默认值为 false。
- Access functions:
- property horizontalHeaderFormatᅟ: QCalendarWidget.HorizontalHeaderFormat¶
此属性保存水平标题的格式。
默认值为
ShortDayNames。- Access functions:
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
此属性保存当前指定日期范围的最大日期。
用户将无法选择超过当前设置的最大日期的日期。
calendar = QCalendarWidget() calendar.setGridVisible(True) calendar.setMaximumDate(QDate(2006, 7, 3))
当设置最大日期时,如果选择范围变得无效,
minimumDate和selectedDate属性会被调整。如果提供的日期不是有效的 QDate 对象,setMaximumDate() 函数将不执行任何操作。默认的最大日期是公元9999年12月31日。您可以通过调用clearMaximumDate()来恢复此默认值(自Qt 6.6起)。
另请参阅
- Access functions:
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
此属性保存当前指定日期范围的最小日期。
用户将无法选择早于当前设置的最小日期的日期。
calendar = QCalendarWidget() calendar.setGridVisible(True) calendar.setMinimumDate(QDate(2006, 6, 19))
当设置最小日期时,如果选择范围变得无效,
maximumDate和selectedDate属性会被调整。如果提供的日期不是有效的 QDate 对象,setMinimumDate() 函数将不执行任何操作。默认的最小日期是公元前4714年11月25日。您可以通过调用clearMinimumDate()来恢复此默认值(自Qt 6.6起)。
另请参阅
- Access functions:
此属性控制导航栏是否显示。
当此属性为
true(默认值)时,下个月、上个月、月份选择和年份选择控件将显示在顶部。当属性设置为false时,这些控件将被隐藏。
- Access functions:
此属性保存当前选定的日期。
所选日期必须在由
minimumDate和maximumDate属性指定的日期范围内。默认情况下,所选日期为当前日期。另请参阅
- Access functions:
- property selectionModeᅟ: QCalendarWidget.SelectionMode¶
此属性保存用户可以在日历中进行的选择类型。
当此属性设置为
SingleSelection时,用户可以使用鼠标或键盘在允许的最小和最大日期之间选择一个日期。当属性设置为
NoSelection时,用户将无法选择日期,但仍然可以通过编程方式选择日期。请注意,当属性设置为NoSelection时,所选日期仍将是日历的选定日期。默认值为
SingleSelection。- Access functions:
- property verticalHeaderFormatᅟ: QCalendarWidget.VerticalHeaderFormat¶
此属性保存垂直标题的格式。
默认值为 QCalendarWidget::ISOWeekNumber。
- Access functions:
使用给定的
parent构建一个日历小部件。小部件使用当前月份和年份进行初始化,当前选择的日期是今天。
另请参阅
每当用户按下回车键或双击日历小部件中的
date时,都会发出此信号。报告此小部件使用的日历系统。
另请参阅
- clearMaximumDate()¶
属性
maximumDateᅟ的重置功能。- clearMinimumDate()¶
属性
minimumDateᅟ的重置功能。当鼠标按钮被点击时,会发出此信号。鼠标点击的日期由
date指定。只有在点击有效日期时才会发出此信号,例如,日期不在minimumDate()和maximumDate()之外。如果选择模式是NoSelection,则不会发出此信号。- currentPageChanged(year, month)¶
- Parameters:
year – int
month – 整数
当当前显示的月份发生变化时,会发出此信号。新的
year和month作为参数传递。另请参阅
- dateEditAcceptDelay()¶
- Return type:
整数
属性
dateEditAcceptDelayᅟ的获取器。- dateTextFormat()¶
- Return type:
字典的键类型为.QDate,值类型为QTextCharFormat。
返回一个从QDate到QTextCharFormat的QMap,显示所有使用特殊格式的日期,这些格式会改变它们的渲染方式。
另请参阅
- dateTextFormat(date)
- Parameters:
日期 –
QDate- Return type:
返回一个用于
date的QTextCharFormat。如果日期没有特别渲染,字符格式可能为空。- firstDayOfWeek()¶
- Return type:
另请参阅
属性
firstDayOfWeekᅟ的获取器。- headerTextFormat()¶
- Return type:
返回用于渲染标题的文本字符格式。
- horizontalHeaderFormat()¶
- Return type:
属性
horizontalHeaderFormatᅟ的获取器。- isDateEditEnabled()¶
- Return type:
布尔
属性
dateEditEnabledᅟ的获取器。- isGridVisible()¶
- Return type:
布尔
属性
gridVisibleᅟ的获取器。- Return type:
布尔
属性
navigationBarVisibleᅟ的获取器。- maximumDate()¶
- Return type:
另请参阅
属性
maximumDateᅟ的获取器。- minimumDate()¶
- Return type:
另请参阅
属性
minimumDateᅟ的获取器。- monthShown()¶
- Return type:
整数
返回当前显示的月份。月份编号从1到12。
使用给定的
painter和rect绘制由指定date确定的单元格。- selectedDate()¶
- Return type:
另请参阅
属性
selectedDateᅟ的获取器。- selectionChanged()¶
当当前选择的日期发生变化时,会发出此信号。
用户可以使用鼠标或键盘更改当前选定的日期,或者程序员可以使用
setSelectedDate()来更改。另请参阅
- selectionMode()¶
- Return type:
另请参阅
属性
selectionModeᅟ的获取器。设置
c为此小部件使用的日历系统。该小部件可以使用任何支持的日历系统。默认情况下,它使用公历。
另请参阅
- setCurrentPage(year, month)¶
- Parameters:
year – int
month – 整数
显示给定的
month和year,而不改变选定的日期。使用setSelectedDate()函数来更改选定的日期。当前显示的月份和年份可以分别使用
monthShown()和yearShown()函数来获取。- setDateEditAcceptDelay(delay)¶
- Parameters:
delay – 整数
属性
dateEditAcceptDelayᅟ的设置器。- setDateEditEnabled(enable)¶
- Parameters:
enable – 布尔值
另请参阅
属性
dateEditEnabledᅟ的设置器。警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
通过设置
minimumDate和maximumDate属性来定义一个日期范围。日期范围限制了用户的选择,即用户只能选择指定日期范围内的日期。请注意
calendar = QCalendarWidget() calendar.setDateRange(min, max)
类似于
calendar = QCalendarWidget() calendar.setMinimumDate(min) calendar.setMaximumDate(max)
如果
min或max参数不是有效的QDate对象,此函数将不执行任何操作。- setDateTextFormat(date, format)¶
- Parameters:
日期 –
QDateformat –
QTextCharFormat
设置用于将给定的
date渲染为format指定的格式。如果
date为空,则清除所有日期格式。另请参阅
属性
firstDayOfWeekᅟ的设置器。- setGridVisible(show)¶
- Parameters:
显示 – 布尔值
另请参阅
属性
gridVisibleᅟ的设置器。- setHeaderTextFormat(format)¶
- Parameters:
format –
QTextCharFormat
设置用于渲染标题的文本字符格式为
format。如果您还设置了星期文本格式,此格式的前景色和背景色将优先于标题的格式。其他格式信息仍将由标题的格式决定。另请参阅
- setHorizontalHeaderFormat(format)¶
- Parameters:
属性
horizontalHeaderFormatᅟ的设置器。属性
maximumDateᅟ的设置器。属性
minimumDateᅟ的设置器。- Parameters:
visible – 布尔值
属性
navigationBarVisibleᅟ的设置器。属性
selectedDateᅟ的设置器。- setSelectionMode(mode)¶
- Parameters:
mode –
SelectionMode
另请参阅
属性
selectionModeᅟ的设置器。- setVerticalHeaderFormat(format)¶
- Parameters:
格式 –
VerticalHeaderFormat
属性
verticalHeaderFormatᅟ的设置器。- setWeekdayTextFormat(dayOfWeek, format)¶
- Parameters:
dayOfWeek –
DayOfWeekformat –
QTextCharFormat
设置用于渲染星期几
dayOfWeek的文本字符格式为format。在前景和背景颜色的情况下,该格式将优先于标题格式。其他文本格式信息取自标题格式。- showNextMonth()¶
显示相对于当前显示月份的下一个月。请注意,所选日期不会更改。
- showNextYear()¶
显示相对于当前显示年份的下一年中当前显示的月份。请注意,所选日期不会更改。
- showPreviousMonth()¶
显示相对于当前显示月份的上一个月。请注意,所选日期不会更改。
- showPreviousYear()¶
显示相对于当前显示年份的上一年的当前显示月份。请注意,所选日期不会更改。
- showSelectedDate()¶
显示所选日期的月份。
- showToday()¶
显示今天日期的月份。
更新由给定的
date指定的单元格,除非更新被禁用或单元格被隐藏。- updateCells()¶
除非更新被禁用,否则更新所有可见的单元格。
另请参阅
- verticalHeaderFormat()¶
- Return type:
属性
verticalHeaderFormatᅟ的获取器。返回用于渲染星期几的文本字符格式
dayOfWeek。- yearShown()¶
- Return type:
整数
返回当前显示月份所在的年份。月份编号从1到12。