8.6 QCalendarWidget日期日历选择对话框
一、QCalendarWidget日期日历选择对话框
1.基本概念
- QCalendarWidget日期日历选择对话框使用起来比较简单
2.代码
点击查看代码
from PyQt5.Qt import *
import sys
class Window(QWidget) :
def __init__(self) :
super().__init__()
self.setWindowTitle("QCalendarWidget日期日历控件 - PyQt5中文网")
self.resize(600, 500)
self.func_list()
def func_list(self) :
self.func()
def func(self) :
##1.构造函数
qcw = QCalendarWidget(self)
##2.日期范围
# qcw.setMaximumDate(QDate(2020, 12, 31))
# qcw.setMinimumDate(QDate(1990, 1, 1))
qcw.setDateRange(QDate(1990, 1, 1), QDate(2022, 12, 31)) #当前日期为后面这个日期
##3.日期编辑
qcw.setDateEditEnabled(True)
##4. 日期获取
print(qcw.monthShown())
print(qcw.yearShown())
print(qcw.selectedDate())
##5. 外观控制
#qcw.setNavigationBarVisible(False) # 头部栏隐藏
#qcw.setFirstDayOfWeek(Qt.Sunday) # 控制一周的第一天
#qcw.setGridVisible(True) # 日期网格显示
#
##6.文本格式控制
tcf = QTextCharFormat()
# # tcf.setFontFamily('宋体')
tcf.setFont(QFont('宋体', 20, 50))
qcw.setHeaderTextFormat(tcf)
'''
7.格式
# # QCalendarWidget.SingleLetterDayNames # 周
# # QCalendarWidget.ShortDayNames # 周一
# # QCalendarWidget.LongDayNames # 星期一
# # QCalendarWidget.NoHorizontalHeader # 标题隐藏
# # QCalendarWidget.ISOWeekNumbers # 显示周数
# # QCalendarWidget.NoVerticalHeader # 隐藏标题
'''
#qcw.setHorizontalHeaderFormat(QCalendarWidget.LongDayNames) # 水平显示设置
qcw.setVerticalHeaderFormat(QCalendarWidget.NoVerticalHeader) # 垂直显示设置
# 8.特定星期文本字符格式
# qcw.setWeekdayTextFormat(Qt.Monday, tcf)
# 9.特定日期文本字符格式
# qcw.setDateTextFormat(QDate(2020, 12, 30), tcf)
## 10.选中功能
# qcw.setSelectionMode(QCalendarWidget.NoSelection) # 日期无法选择
# qcw.setSelectionMode(QCalendarWidget.SingleSelection) # 可以选择单个日期
qcw.setSelectedDate(QDate(2020, 12, 1)) # 一般用于给用户展示某个日期()当前日期
## 11.常用方法
# qcw.showToday() # 只展示当天所在页面,不选中
# qcw.showSelectedDate()
# qcw.showNextMonth()
# qcw.showNextYear()
# qcw.showPreviousYear() # 前一年
# qcw.showPreviousMonth()
qcw.setCurrentPage(2020, 11) # 设置当前页面是哪一年那一月
## 12.可用信号
# qcw.activated() # 双击触发
# qcw.clicked() # 点击触发
# qcw.currentPageChanged() # 当前月份改变
# qcw.selectionChanged() # 当前选择的日期发生改变
if __name__ == '__main__' :
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
分类:
可视化界面 / PYQT5
标签:
python可视化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)