PyQt5之日历QCalendar
QCalendar是一个日历控件,它提供了一个基于月份的视图,允许用户通过鼠标或键盘选择日期,默认选中的是今天的日期。也可以对日历的日期范围进行规定。
一、QCalendar的常用方法
方法 | 描述 |
---|---|
setDateRange() | 设置日期范围选择 |
setFirstDayOfWeek() | 重新设置星期的第一天,默认是星期日,其参数枚举值Qt.Monday(星期一)、Qt.Tuesday(星期二)、Qt.Wednesday(星期三)、Qt.Thursday(星期四)、Qt.Friday(星期五)、Qt.Saturday(星期六)、Qt.Sunday(星期日) |
setMinimumDate() | 设置最小日期 |
setMaximumDate() | 设置最大日期 |
setSelectedDate | 设置一个QDate对象,作为日期控件所选定的日期 |
minimumDate() | 获取日历控件的最小日期 |
maximumDate() | 获取日历控件的最大日期 |
selectedDate() | 返回当前选定的日期 |
setGridvisible() | 设置日历控件是否显示网格 |
二、QCalendar的使用
import sys,math
from PyQt5 import QtCore
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class Win(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(300, 300,400, 380)
self.setWindowTitle('QCalendar的使用')
self.cal = QCalendarWidget(self)
self.cal.setMinimumDate(QDate(1980,1,1))
self.cal.setMaximumDate(QDate(3000,1,1))
self.cal.setGridVisible(True)
self.cal.clicked[QtCore.QDate].connect(self.showDate)
self.lb = QLabel(self)
date = self.cal.selectedDate()
self.lb.setText(date.toString('yyyy-MM-dd dddd'))
self.lb.move(20,300)
def showDate(self,date):
self.lb.setText(date.toString('yyyy-MM-dd dddd'))
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Win()
form.show()
sys.exit(app.exec_())
运行效果如下: