QCalendarWidget Class Reference

[QtGui module]

该QCalendarWidget类提供了一个每月按日历组件,允许用户选择一个日期。More…

继承QWidget

Types

  • enum HorizontalHeaderFormat { NoHorizontalHeader, SingleLetterDayNames, ShortDayNames, LongDayNames }
  • enum SelectionMode { NoSelection, SingleSelection }
  • enum VerticalHeaderFormat { NoVerticalHeader, ISOWeekNumbers }

Methods

  • __init__ (self, QWidget parent = None)
  • int dateEditAcceptDelay (self)
  • dict-of-QDate-QTextCharFormat dateTextFormat (self)
  • QTextCharFormat dateTextFormat (self, QDate date)
  • bool event (self, QEvent event)
  • bool eventFilter (self, QObject watched, QEvent event)
  • Qt.DayOfWeek firstDayOfWeek (self)
  • QTextCharFormat headerTextFormat (self)
  • HorizontalHeaderFormat horizontalHeaderFormat (self)
  • bool isDateEditEnabled (self)
  • bool isGridVisible (self)
  • bool isHeaderVisible (self)
  • bool isNavigationBarVisible (self)
  • keyPressEvent (self, QKeyEvent event)
  • QDate maximumDate (self)
  • QDate minimumDate (self)
  • QSize minimumSizeHint (self)
  • int monthShown (self)
  • mousePressEvent (self, QMouseEvent event)
  • paintCell (self, QPainter painter, QRect rect, QDate date)
  • resizeEvent (self, QResizeEvent event)
  • QDate selectedDate (self)
  • SelectionMode selectionMode (self)
  • setCurrentPage (self, int year, int month)
  • setDateEditAcceptDelay (self, int delay)
  • setDateEditEnabled (self, bool enable)
  • setDateRange (self, QDate min, QDate max)
  • setDateTextFormat (self, QDate date, QTextCharFormat color)
  • setFirstDayOfWeek (self, Qt.DayOfWeek dayOfWeek)
  • setGridVisible (self, bool show)
  • setHeaderTextFormat (self, QTextCharFormat format)
  • setHeaderVisible (self, bool show)
  • setHorizontalHeaderFormat (self, HorizontalHeaderFormat format)
  • setMaximumDate (self, QDate date)
  • setMinimumDate (self, QDate date)
  • setNavigationBarVisible (self, bool visible)
  • setSelectedDate (self, QDate date)
  • setSelectionMode (self, SelectionMode mode)
  • setVerticalHeaderFormat (self, VerticalHeaderFormat format)
  • setWeekdayTextFormat (self, Qt.DayOfWeek dayOfWeek, QTextCharFormat format)
  • showNextMonth (self)
  • showNextYear (self)
  • showPreviousMonth (self)
  • showPreviousYear (self)
  • showSelectedDate (self)
  • showToday (self)
  • QSize sizeHint (self)
  • updateCell (self, QDate date)
  • updateCells (self)
  • VerticalHeaderFormat verticalHeaderFormat (self)
  • QTextCharFormat weekdayTextFormat (self, Qt.DayOfWeek dayOfWeek)
  • int yearShown (self)

Qt Signals

  • void activated (const QDate&)
  • void clicked (const QDate&)
  • void currentPageChanged (int,int)
  • void selectionChanged ()

Detailed Description

该QCalendarWidget类提供了一个每月按日历组件,允许用户选择一个日期。

QCalendarWidget Class Reference - 图1

小部件是与当前的月份和年份初始化,但QCalendarWidget提供了一些公用插槽的年份和月份所显示改变。

默认情况下,今天的日期被选中,用户可以同时使用鼠标和键盘选择一个日期。当前选定的日期可以通过检索的selectedDate()函数。它可以通过设置来限制用户选择一个给定的时间范围的minimumDatemaximumDate属性。另外,这两个属性可以一次过使用设置setDateRange( )方便的插槽。设置selectionMode属性为NoSelection从在选择禁止所有用户。请注意,日期也可以以编程方式使用被选择的setSelectedDate()槽。

当前显示的月份和年份可使用检索monthShown()和yearShown( )函数,分别为。

新创建的日历小部件使用缩写的日期名,以及星期六和星期日被标记为红色。日历网格是不可见的。一周数字显示,第一列日是星期天。

在天的符号可以通过设置进行修改,以一个单一的字母缩写( “M”为“星期一” )的horizontalHeaderFormat属性为QCalendarWidget.SingleLetterDayNames。同样的属性设置为QCalendarWidget.LongDayNames使头显示完整的日期名。该周数可以通过设置去除verticalHeaderFormat属性为QCalendarWidget.NoVerticalHeader。日历网格可以通过设置打开了gridVisible使用属性为TruesetGridVisible( )函数:

| QCalendarWidget Class Reference - 图2 | |

  1. QCalendarWidget *calendar;
  2. calendar->setGridVisible(true);

|

最后,一天中的第一列可以使用被改变的setFirstDayOfWeek()函数。

该QCalendarWidget类还提供了三个信号,selectionChanged( )activated()和currentPageChanged()使得能够响应用户交互。

头,平日或单天的渲染可以在很大程度上通过自定义设置QTextCharFormat的一些特殊的工作日,特殊日期或标题的呈现。

在属性的一个子集QTextCharFormat所使用的日历组件。目前,前景,背景和字体属性可用于确定单个细胞在插件的渲染。


Type Documentation

  1. QCalendarWidget.HorizontalHeaderFormat

这个枚举类型定义了各种格式的水平标题可以显示。

Constant Value Description
QCalendarWidget.SingleLetterDayNames 1 标题会显示一个字母缩写日期名(例如M星期一) 。
QCalendarWidget.ShortDayNames 2 标题会显示一个简短的缩写一天的名称(例如,星期一星期一) 。
QCalendarWidget.LongDayNames 3 头显示完整的日期名(如星期一) 。
QCalendarWidget.NoHorizontalHeader 0 头是隐藏的。

See also horizontalHeaderFormat()和VerticalHeaderFormat

  1. QCalendarWidget.SelectionMode

这个枚举描述提供给用于选择日期的日历用户选择的类型。

Constant Value Description
QCalendarWidget.NoSelection 0 日期无法选择。
QCalendarWidget.SingleSelection 1 单日期可以选择。

See also selectionMode

  1. QCalendarWidget.VerticalHeaderFormat

这个枚举类型定义了各种格式的垂直头可以显示。

Constant Value Description
QCalendarWidget.ISOWeekNumbers 1 所描述的标题显示的ISO周数QDate.weekNumber( ) 。
QCalendarWidget.NoVerticalHeader 0 头是隐藏的。

See also verticalHeaderFormat()和HorizontalHeaderFormat


Method Documentation

  1. QCalendarWidget.__init__ (self, QWidget parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个日历控件与给定parent

小部件是与当前的月份和年份初始化,当前选定的日期为今日。

See also setCurrentPage( ) 。

  1. int QCalendarWidget.dateEditAcceptDelay (self)
  1. dict-of-QDate-QTextCharFormat QCalendarWidget.dateTextFormat (self)

返回QMapQDateQTextCharFormat显示所有使用该改变其呈现的特殊格式的日期。

See also setDateTextFormat( ) 。

  1. QTextCharFormat QCalendarWidget.dateTextFormat (self, QDate date)

返回QTextCharFormatdate。该字符格式可以为空,如果日期不renderd特别。

  1. bool QCalendarWidget.event (self, QEvent event)

从重新实现QObject.event( ) 。

  1. bool QCalendarWidget.eventFilter (self, QObject watched, QEvent event)

从重新实现QObject.eventFilter( ) 。

  1. Qt.DayOfWeek QCalendarWidget.firstDayOfWeek (self)

  1. QTextCharFormat QCalendarWidget.headerTextFormat (self)

[

返回渲染的标题文本字符格式。

]($docs-qtextcharformat.html)

See also setHeaderTextFormat( ) 。

  1. HorizontalHeaderFormat QCalendarWidget.horizontalHeaderFormat (self)

[

  1. bool QCalendarWidget.isDateEditEnabled (self)
  1. bool QCalendarWidget.isGridVisible (self)
  1. bool QCalendarWidget.isHeaderVisible (self)
  1. bool QCalendarWidget.isNavigationBarVisible (self)
  1. QCalendarWidget.keyPressEvent (self, QKeyEvent event)

]($docs-qcalendarwidget.html#HorizontalHeaderFormat-enum)

从重新实现QWidget.keyPressEvent( ) 。

  1. QDate QCalendarWidget.maximumDate (self)

  1. QDate QCalendarWidget.minimumDate (self)

  1. QSize QCalendarWidget.minimumSizeHint (self)

从重新实现QWidget.minimumSizeHint( ) 。

  1. int QCalendarWidget.monthShown (self)

返回当前显示的月份。个编号从1到12 。

See also yearShown()和setCurrentPage( ) 。

  1. QCalendarWidget.mousePressEvent (self, QMouseEvent event)

从重新实现QWidget.mousePressEvent( ) 。

  1. QCalendarWidget.paintCell (self, QPainter painter, QRect rect, QDate date)

绘制由给定指定的单元格date,使用给定的painterrect

  1. QCalendarWidget.resizeEvent (self, QResizeEvent event)

从重新实现QWidget.resizeEvent( ) 。

  1. QDate QCalendarWidget.selectedDate (self)

  1. SelectionMode QCalendarWidget.selectionMode (self)

[

  1. QCalendarWidget.setCurrentPage (self, int year, int month)

这种方法也是一个Qt槽与C + +的签名void setCurrentPage(int,int)

]($docs-qcalendarwidget.html#SelectionMode-enum)

显示给定的month的给定year在不改变选定的日期。使用setSelectedDate( )函数来改变所选的日期。

当前显示的月份和年份可使用检索monthShown()和yearShown( )分别为功能。

See also yearShown( )monthShown( )showPreviousMonth( )showNextMonth( )showPreviousYear()和showNextYear( ) 。

  1. QCalendarWidget.setDateEditAcceptDelay (self, int delay)
  1. QCalendarWidget.setDateEditEnabled (self, bool enable)
  1. QCalendarWidget.setDateRange (self, QDate min, QDate max)

这种方法也是一个Qt槽与C + +的签名void setDateRange(const QDate&,const QDate&)

通过设置定义一个日期范围minimumDatemaximumDate属性。

日期范围限制了用户的选择,即用户只能选择指定日期范围内的日期。需要注意的是

  1. [QCalendarWidget](qcalendarwidget.html) *calendar;
  2. calendar->setDateRange(min, max);

类似于

  1. [QCalendarWidget](qcalendarwidget.html) *calendar;
  2. calendar->setMinimumDate(min);
  3. calendar->setMaximumDate(max);

如果任何一个min or max参数无效QDate对象,这个函数不执行任何操作。

See also setMinimumDate()和setMaximumDate( ) 。

  1. QCalendarWidget.setDateTextFormat (self, QDate date, QTextCharFormat color)

设置用于呈现给定的格式date到由指定的format

If date为空,所有的日期格式将被清除。

See also dateTextFormat( ) 。

  1. QCalendarWidget.setFirstDayOfWeek (self, Qt.DayOfWeek dayOfWeek)
  1. QCalendarWidget.setGridVisible (self, bool show)
  1. QCalendarWidget.setHeaderTextFormat (self, QTextCharFormat format)

设置用于呈现头文字字符格式format。如果还设置了平日的文本格式,这种格式的前景色和背景色将优先于头的格式。其他格式的信息将仍然由标题的格式来决定。

See also headerTextFormat( ) 。

  1. QCalendarWidget.setHeaderVisible (self, bool show)
  1. QCalendarWidget.setHorizontalHeaderFormat (self, HorizontalHeaderFormat format)
  1. QCalendarWidget.setMaximumDate (self, QDate date)
  1. QCalendarWidget.setMinimumDate (self, QDate date)
  1. QCalendarWidget.setNavigationBarVisible (self, bool visible)

这种方法也是一个Qt槽与C + +的签名void setNavigationBarVisible(bool)

  1. QCalendarWidget.setSelectedDate (self, QDate date)

这种方法也是一个Qt槽与C + +的签名void setSelectedDate(const QDate&)

  1. QCalendarWidget.setSelectionMode (self, SelectionMode mode)
  1. QCalendarWidget.setVerticalHeaderFormat (self, VerticalHeaderFormat format)
  1. QCalendarWidget.setWeekdayTextFormat (self, Qt.DayOfWeek dayOfWeek, QTextCharFormat format)

设置为一天的渲染文本字符格式的一周dayOfWeekformat。该格式将优先于案件前景色和背景色的报头格式。其他文本格式的信息是从标题的格式。

See also weekdayTextFormat()和setHeaderTextFormat( ) 。

  1. QCalendarWidget.showNextMonth (self)

这种方法也是一个Qt槽与C + +的签名void showNextMonth()

表明相对于当前显示的月份的下一个月份。注意,所选择的日期没有改变。

See also showPreviousMonth( )setCurrentPage()和setSelectedDate( ) 。

  1. QCalendarWidget.showNextYear (self)

这种方法也是一个Qt槽与C + +的签名void showNextYear()

显示当前显示的月份next相对于当前显示的一年年。注意,所选择的日期没有改变。

See also showPreviousYear( )setCurrentPage()和setSelectedDate( ) 。

  1. QCalendarWidget.showPreviousMonth (self)

这种方法也是一个Qt槽与C + +的签名void showPreviousMonth()

显示上月相对于当前显示的月份。注意,所选择的日期没有改变。

See also showNextMonth( )setCurrentPage()和setSelectedDate( ) 。

  1. QCalendarWidget.showPreviousYear (self)

这种方法也是一个Qt槽与C + +的签名void showPreviousYear()

显示当前显示的月份previous相对于当前显示的一年年。注意,所选择的日期没有改变。

See also showNextYear( )setCurrentPage()和setSelectedDate( ) 。

  1. QCalendarWidget.showSelectedDate (self)

这种方法也是一个Qt槽与C + +的签名void showSelectedDate()

显示所选日期的月份。

See also selectedDate()和setCurrentPage( ) 。

  1. QCalendarWidget.showToday (self)

这种方法也是一个Qt槽与C + +的签名void showToday()

显示今天的日期的月份。

See also selectedDate()和setCurrentPage( ) 。

  1. QSize QCalendarWidget.sizeHint (self)

从重新实现QWidget.sizeHint( ) 。

  1. QCalendarWidget.updateCell (self, QDate date)

更新由给定的指定的单元date除非更新被禁用或细胞是隐藏的。

此功能被引入Qt的4.4 。

See also updateCells( )yearShown()和monthShown( ) 。

  1. QCalendarWidget.updateCells (self)

更新所有可见的单元格,除非更新被禁用。

此功能被引入Qt的4.4 。

See also updateCell( ) 。

  1. VerticalHeaderFormat QCalendarWidget.verticalHeaderFormat (self)

  1. QTextCharFormat QCalendarWidget.weekdayTextFormat (self, Qt.DayOfWeek dayOfWeek)

[

返回天的渲染文本字符格式的一周dayOfWeek

]($docs-qtextcharformat.html)

See also setWeekdayTextFormat()和headerTextFormat( ) 。

  1. int QCalendarWidget.yearShown (self)

返回当前显示的月份的一年。个编号从1到12 。

See also monthShown()和setCurrentPage( ) 。


Qt Signal Documentation

  1. void activated (const QDate&)

这是该信号的默认超载。

当用户按下回车键或双击这个信号被发射一个date在日历窗口小部件。

  1. void clicked (const QDate&)

这是该信号的默认超载。

单击鼠标按钮时,这个信号被发射。鼠标点击的日期是由指定的date。在有效日期点击时,信号才发出,例如,日期是不是在外面minimumDate()和maximumDate( ) 。如果选择模式是NoSelection时,该信号将不会被发射。

  1. void currentPageChanged (int,int)

这是该信号的默认超载。

当前显示的月份被改变时,这个信号被发射。新yearmonth作为参数传递。

See also setCurrentPage( ) 。

  1. void selectionChanged ()

这是该信号的默认超载。

当目前选择的日期将被改变,这个信号被发射。

当前选择的日期可以由用户使用鼠标或键盘来改变,或通过使用编程setSelectedDate( ) 。

See also selectedDate( ) 。