PyQt6 QCalendarWidget日历控件

​锋哥原创的PyQt6视频教程:

2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计39条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~、第2讲 PyQt6库和工具库QTDesigner安装与配置、第3讲 PyQt6第一个程序HelloWorld实现等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV11C4y1P7fj/

CalendarWidget控件又称为日历控件,主要用来显示和选择日期。

QCalendarWidget类的常用方法:

方法说明
setSelectedDate()设置选中的日期,默认为当前日期
setMinimumDate()设置最小日期,默认为1752/9/14
setMaximumDate()设置最大日期,默认为9999/12/31
setFirstDayOfWeek()设置一周的第一天,取值如下。 Qt.Monday:星期一; Qt.Tuesday:星期二; Qt.Wednesday:星期三; Qt.Thursday:星期四; Qt.Friday:星期五; Qt.Saturday:星期六; Qt.Sunday:星期日
setGridVisible()设置是否显示网格线
setSelectionMode()设置选择模式,取值如下。 QCalendarWidget.NoSelection:不能选中日期 QCalendarWidget.SingleSelection:可以选中一个日期
setHorizontalHeaderFormat()QCalendarWidget.LongDayNames:完整天的名称,如“星期一”
setVerticalHeaderFormat()设置对齐方式,有水平和垂直两种,分别如下。 QCalendarWidget.NoVerticalHeader:不显示垂直头部; QCalendarWidget.IsOWeekNumbers:以星期数字显示垂直头部
setNavigationBarVisible()设置是否显示导航栏
setDateEditEnabled()设置是否可以编辑日期
setDateEditAcceptDelay()设置编辑日期的最长间隔,默认为1500
selectedDate()获取选择的日期,返回值为QDate类型

UI生成代码参考:

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(592, 417)
        self.calendarWidget = QtWidgets.QCalendarWidget(parent=Form)
        self.calendarWidget.setGeometry(QtCore.QRect(80, 30, 401, 251))
        self.calendarWidget.setSelectedDate(QtCore.QDate(2023, 11, 27))
        self.calendarWidget.setFirstDayOfWeek(QtCore.Qt.DayOfWeek.Monday)
        self.calendarWidget.setGridVisible(True)
        self.calendarWidget.setSelectionMode(QtWidgets.QCalendarWidget.SelectionMode.SingleSelection)
        self.calendarWidget.setHorizontalHeaderFormat(QtWidgets.QCalendarWidget.HorizontalHeaderFormat.LongDayNames)
        self.calendarWidget.setVerticalHeaderFormat(QtWidgets.QCalendarWidget.VerticalHeaderFormat.ISOWeekNumbers)
        self.calendarWidget.setNavigationBarVisible(True)
        self.calendarWidget.setDateEditEnabled(False)
        self.calendarWidget.setObjectName("calendarWidget")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))

Main测试代码:

"""
    python加载ui文件
    作者 : 小锋老师
    官网 : www.python222.com
"""
import sys
import time

from PyQt6.QtGui import QValidator, QIntValidator, QIcon
from PyQt6.QtWidgets import QApplication, QLabel, QLineEdit, QTextEdit, QComboBox, QDateTimeEdit, QCalendarWidget
from PyQt6 import uic, QtGui, QtCore

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ui = uic.loadUi("./QCalendarWidget日历控件.ui")
    myCalendarWidget: QCalendarWidget = ui.calendarWidget

    print(myCalendarWidget.selectedDate().toString("yyyy-MM-dd"))

    ui.show()

    sys.exit(app.exec())

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值