PyQt - QCalendar 小部件
QCalendar 小部件是一个有用的日期选择器控件。 它提供基于月份的视图。 用户可以使用鼠标或键盘选择日期,默认为今天的日期。 也可以规定日历的日期范围。
以下是该类的一些实用方法 −
下面给出了 QCalendar 最常用的方法。
序号 | 方法 & 描述 |
---|---|
1 |
setDateRange() 设置可供选择的下限和上限日期 |
2 |
setFirstDayOfWeek() 确定日历中第一列的日期 预定义的日期常量是 −
|
3 |
setMinimumDate() 设置选择的下限日期 |
4 |
setMaximumDate() 设置选择的上限日期 |
5 |
setSelectedDate() 将 QDate 对象设置为选定日期 |
6 |
showToday() 显示今天的日期 |
7 |
selectedDate() 检索选定的日期 |
8 |
setGridvisible() 打开或关闭日历网格 |
示例
下面的示例有一个日历小部件和一个显示当前选定日期的标签。 完整代码如下 −
import sys from PyQt4 import QtGui, QtCore class Example(QtGui.QWidget): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): cal = QtGui.QCalendarWidget(self) cal.setGridVisible(True) cal.move(20, 20) cal.clicked[QtCore.QDate].connect(self.showDate) self.lbl = QtGui.QLabel(self) date = cal.selectedDate() self.lbl.setText(date.toString()) self.lbl.move(20, 200) self.setGeometry(100,100,300,300) self.setWindowTitle('Calendar') self.show() def showDate(self, date): self.lbl.setText(date.toString()) def main(): app = QtGui.QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == '__main__': main()
上面的代码产生以下输出 −