【pyqt5学习】——日历控件calendarWidget设置单元格格式(前景、背景)、日历控件属性编辑

目录

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

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有情怀的机械男

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值