PyQt5: chapter3-显示用户从日历小部件中选择的日期

可以使用日历小部件的以下属性来配置其显示:

  • minimumDate:此属性用于指定最小日期范围。
  • maximum date:此属性用于指定最大日期范围。
  • selectionMode:此属性有助于启用或禁用用户从日历小部件中选择日期的功能。如果此属性设置为NoSelection,则不允许用户选择任何日期。
  • verticalHeaderFormat:通过将此属性设置为NoVerticalHeader,可以从日历小部件中删除周数。
  • gridVisible:此属性有助于使日历网格可见或不可见。可以将此属性设置为布尔值True以使日历网格可见。
  • HorizontalHeadPerformat:此属性用于设置要显示的日期格式。以下是可用的选项:
  • SingleLetterDayNames:days的标题中显示一个单独的字母,例如M代表星期一,T代表星期二,等等。
  • ShortDayNames:日期的短格式显示在标题中,例如周一表示周一,周二表示周二,等等。
  • LongDayNames:标题以完整的形式显示天,如星期一、星期二等。
  • NoHorizontalHeader:在HorizontalHeaderFormat中使用此选项会使标题不可见。

QCalendarWidget类

  • selectedDate():此方法返回当前选定的日期。日期作为QDate对象返回。
  • monthShown():此方法返回当前显示的月份。
  • yearShowed():此方法返回当前显示的年份。
  • setFirstDayOfWeek():此方法用于设置第一列中的星期几。
  • selectionChanged():当用户更改当前选定日期时调用此方法。

QDate 类

  • currentDate():此方法将系统日期作为QDate实例返回。
  • setDate():此方法根据提供的年、月和日设置日期。
  • year():此方法从指定的QDate实例返回年份。
  • month():此方法从指定的QDate实例返回月份。
  • day():此方法从指定的QDate实例返回日期。
  • dayOfWeek():此方法从指定的QDate实例返回星期几。
  • addDays():此方法将指定天数添加到指定日期并返回新日期。
  • addMonths():此方法将指定的月数添加到指定日期并返回新日期。
  • addYears():此方法将指定的年数添加到指定日期并返回新日期。
  • daysTo():此方法返回两个日期之间的天数。
  • daysInMonth():此方法返回指定月份中的天数。
  • daysInYear():此方法返回指定年份中的天数。
  • isLeapYear():如果指定日期在闰年中,则此方法返回true。
  • toPyDate():此方法以字符串形式返回日期。format参数确定结果字符串的格式。

以下表达式用于指定格式

  • d: 此表达式将日期显示为不带前导零(1到31)的数字
  • dd:此表达式将日期显示为带前导零(01到31)的数字
  • ddd:此表达式将日期显示为短格式(周一、周二等)
  • dddd:此表达式将日期显示为长格式(周一、周二,等等)
  • M:此表达式将月份显示为不带前导零(1到12)的数字
  • MM:此表达式将月份显示为带前导零(01到12)的数字
  • MMM:此表达式将月份显示为短格式(一月、二月等)
  • MMMM:此表达式将月份显示为长格式(一月、二月等)
  • yy:表达式将年份显示为两位数(00到99)
  • yyyy:此表达式将年份显示为四位数

Date Edit 部件的配置

  • minimum date:通过使用此属性可以为小部件定义最小日期
  • maximumDate:通过使用此属性可以为小部件定义最大日期

QDateEdit 类

  • setDate(): 此方法用于设置要在小部件中显示的日期
  • setDisplayFormat():此方法用于设置日期编辑小部件中显示的日期的日期格式

实例

  1. 基于Dialog without Buttons模板创建新应用程序
  2. 拖出一个Calendar Widget部件和一个Date Edit部件
  3. 保存为demoCalendar.ui文件
  4. 使用pyuic生成demoCalendar.py文件
  5. 创建callCalendar.py文件,代码如下
import sys
from PyQt5.QtWidgets import QDialog,QApplication
from cookbook_200425.demoCalendar import *

class MyForm(QDialog):
    def __init__(self):
        super().__init__()
        self.ui=Ui_Dialog()
        self.ui.setupUi(self)
        self.ui.calendarWidget.selectionChanged.connect(self.dispdate)
        self.show()
    def dispdate(self):
        self.ui.dateEdit.setDate(self.ui.calendarWidget.selectedDate())
if __name__=="__main__":
    app=QApplication(sys.argv)
    w=MyForm()
    w.show()
    sys.exit(app.exec())

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值