python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > PyQt6 QCalendar控件

PyQt6之QCalendar控件的实现

作者:wu瞌睡虫

QCalendar类提供基于月份的日期选择功能,支持鼠标和键盘操作,默认选中当前日期,适用于需要日期输入的场景,本文就来详细的介绍一下PyQt6之QCalendar控件的实现,感兴趣的可以了解一下

日历控件属于QCalendar类,它基于月份的视图,通过鼠标或键盘选择日期,默认选中的是当天日期。

示例代码:

# _*_ coding: UTF-8 _*_
# 开发团队 : 大军安全
# 开发人员 : Dreams
# 开发时间 : 2025/9/18 21:58
# 文件名称 : calendar.py
# 开发工具 :  PyCharm
# 开发任务 :  日历控件示例
import sys

from PyQt6.QtCore import QDate, Qt
from PyQt6.QtWidgets import QCalendarWidget, QApplication, QWidget, QLabel


class MainWidget(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Calendar示例")
        self.resize(400, 300)  # 增加窗口大小以容纳所有组件
        self.initUI()
    
    def initUI(self):
        self.calendar = QCalendarWidget(self)
        self.calendar.setMinimumDate(QDate(2020, 1, 1))
        self.calendar.setMaximumDate(QDate(2030, 12, 31))
        self.calendar.setGridVisible(True)
        self.calendar.setGeometry(20, 20, 350, 200)
        
        
        
        self.calendar.clicked.connect(self.labShow)
        
        date = self.calendar.selectedDate()
        self.lb = QLabel(self)
        self.lb.setText(date.toString("yyyy-MM-dd ddd"))
        self.lb.setGeometry(20, 230, 350, 30)  # 设置标签位置和大小
        self.lb.setAlignment(Qt.AlignmentFlag.AlignCenter)
    
    def labShow(self, date):
        self.lb.setText(date.toString("yyyy-MM-dd ddd"))
        


if __name__ == '__main__':
    app = QApplication(sys.argv)
    widget = MainWidget()
    widget.show()
    sys.exit(app.exec())

运行结果:

到此这篇关于PyQt6之QCalendar控件的实现的文章就介绍到这了,更多相关PyQt6 QCalendar控件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文