目录
0、导入库
1、返回日历选中的日期
2、更改日历控件周几(比如一个月属于周一的日期)的所有格子属性
3、更改日历控件单个格子(指定日期)属性
4、日历格子属性
5、信号——clicked()
6、成果展示
0、导入库
from PyQt5.QtCore import pyqtSignal,QThread,QTimer,Qt,QDate
from PyQt5.QtGui import QIcon,QBrush,QColor
1、返回日历选中的日期
self.seleteQDate = self.calendarWidget.selectedDate()
print(self.calendarWidget.selectedDate()) # PyQt5.QtCore.QDate(2022, 5, 12) print(type(self.calendarWidget.selectedDate())) # <class 'PyQt5.QtCore.QDate'>
得到的是一个QDate类型
通过以下代码可以将日期格式化得到字符串类型日期
selectedDate = self.seleteQDate.toString('yyyy-MM-dd dddd')
2022-05-12 星期四
2、更改日历控件周几(比如一个月属于周一的日期)的所有格子属性
## 获取周一字体格式self.fontStyle_ = self.calendarWidget.weekdayTextFormat(Qt.Monday) # 周六日格式## 替换字体颜色self.fontStyle_.setForeground(QBrush(QColor("#0076ed")))self.fontStyle_.setBackground(QBrush(QColor("#ffffff")))## 给周六、日设置新的字体格式self.calendarWidget.setWeekdayTextFormat(Qt.Sunday,self.fontStyle_)self.calendarWidget.setWeekdayTextFormat(Qt.Saturday,self.fontStyle_)
1、通过weekdayTextFormat属性来获得周一日期的格式
2、然后再利用setForegroud来更改前景色
3、将格式通过setweekdayTextFormat来对指定的周几的几个日期进行设置
3、更改日历控件单个格子(指定日期)属性
self.fontStyle1 = self.calendarWidget.weekdayTextFormat(Qt.Monday)
self.fontStyle1.setBackground(QBrush(QColor("#ffffff")))
self.calendarWidget.setDateTextFormat(QDate(2022,5,13),fontStyle1)
1、通过weekdayTextFormat属性来获得周一日期的格式
2、然后再利用setBackgroud来更改前景色
3、将格式通过setDateTextFormat来对指定的日期单元格进行属性设置
注:setDateTextFormat()有两个参数,日期是QDate格式,通过QDate(年,月,日)可以得到
4、日历格子属性
有这些属性
5、信号——clicked()
self.calendar.clicked.connect(self.showData)def showData(self,date):print(date.toString("yyyy-MM-dd dddd")
注:这里的点击会自动传回点击选中的日期,所有槽函数showData可以接收一个参数
6、成果展示
其它关于日历控件的说明可以参考:
QCalendarWidget - Qt for Pythonhttps://doc.qt.io/qtforpython/PySide6/QtWidgets/QCalendarWidget.html