介绍
QCalendar是一个日历控件,它提供了一个基于月份的视图,允许用户通过鼠标或键盘选择日期,默认选中的是今天的日期。
也可以对日历的日期范围进行规定。
方法
方法 | 描述 |
setDateRange() | 设置日期范围选择 |
setDateRange() | 重新设置星期的第一天,默认是星期日。其参数枚举值如下: Qt.Monday,星期一 Qt.Tuseday,星期二 Qt.Wednesday,星期三 Qt.Thursday,星期四 Qt.Friday,星期五 Qt.Saturday,星期六 Qt.SUnday,星期日 |
setMinimumDate() | 设置最大日期 |
setMaxmumDate() | 设置最小日期 |
setSelectedDate() | 设置一个QDate对象,作为日期控件所选定的日期 |
maximumDate() | 获取日历控件的最大日期 |
minimumDate() | 获取日历控件的最小日期 |
selectedDate() | 返回当前选定的日期 |
setGridvisible() | 设置日历控件是否显示网络 |
代码
import sys
from PyQt5 import QtCore
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import QDate
class CalendarExample( QWidget):
def __init__(self):
super(CalendarExample, self).__init__()
self.initUI()
def initUI(self):
self.cal = QCalendarWidget(self)
self.cal.setMinimumDate(QDate(1980, 1, 1))
self.cal.setMaximumDate(QDate(3000, 1, 1))
self.cal.setGridVisible(True)
self.cal.move(20, 20)
self.cal.clicked[QtCore.QDate].connect(self.showDate)
self.lbl = QLabel(self)
date = self.cal.selectedDate()
self.lbl.setText(date.toString("yyyy-MM-dd dddd"))
self.lbl.move(20, 300)
self.setGeometry(100,100,400,350)
self.setWindowTitle('Calendar 例子')
def showDate(self, date):
self.lbl.setText(date.toString("yyyy-MM-dd dddd") )
if __name__ == '__main__':
app = QApplication(sys.argv)
demo = CalendarExample()
demo.show()
sys.exit(app.exec_())
展示
后记
感觉一天天的挺忙的,但是不想停下来。