设置日期的最小和最大范围,同时设置点击事件, 将点击的日期显示在label控件上
""" 日历控件 QCalendarWidget """ import sys, math from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * class MyCalendar(QWidget): def __init__(self): super(MyCalendar, self).__init__() self.initUI() def initUI(self): self.cal = QCalendarWidget(self) self.cal.setMinimumDate(QDate(1988, 1, 1)) self.cal.setMaximumDate(QDate(2088, 1, 1)) #设置网格 self.cal.setGridVisible(True) self.cal.move(20, 20) self.cal.clicked.connect(self.showDate) self.label = QLabel(self) date = self.cal.selectedDate() self.label.setText(date.toString("yyyy-MM-dd dddd")) self.label.move(20, 320) self.resize(400, 350) self.setWindowTitle("日历演示") def showDate(self, date): #方法1 通过自动输入的日期做显示 self.label.setText((date.toString("yyyy-MM-dd dddd"))) #方法2 根据点击所选择的内容做显示 self.label.setText((self.cal.selectedDate().toString("yyyy-MM-dd dddd"))) if __name__ == "__main__": app = QApplication(sys.argv) main = MyCalendar() main.show() sys.exit(app.exec_())