Qt dateEdit 选择日期控件

课设要求图形化界面,使用 Qt Designer 设计了UI,PyQt5转为.py文件,并在此基础上进行了一些UI方面改进。笔记一则。

控件UI设计

  • 初始需求就是设计一个能够输入日期的控件。确定为组件dateEdit,效果如下:
    在这里插入图片描述
  • 设置可选择日期范围:
    加入setMinimumDatesetMaximumDate方法;
    其内参数为一个QDate.currentDate()的返回值,并可以通过.addDays(-365)方法进行日期加减操作。
    实际使用完整控件代码如下,示例查询范围为三年前至今。
  • 设置日历样式直观选择
    加入 setCalendarPopup(True) 方法,并将参数设为True。
    效果如下:
    已带有日历控件

部分代码如下

 self.label_2 = QtWidgets.QLabel(self.verticalLayoutWidget_2)
 self.label_2.setObjectName("label_2")
 self.horizontalLayout.addWidget(self.label_2, 0, QtCore.Qt.AlignHCenter)
 self.dateEdit = QtWidgets.QDateEdit(self.verticalLayoutWidget_2)
 self.dateEdit.setObjectName("dateEdit")
 self.horizontalLayout.addWidget(self.dateEdit)
 # 设置日期最大值与最小值,在当前日期的基础上,可查三年前至当天
 self.dateEdit.setMinimumDate(QDate.currentDate().addDays(-365 * 3))
 self.dateEdit.setMaximumDate(QDate.currentDate())
 # 设置日历控件允许弹出
 self.dateEdit.setCalendarPopup(True)

控件输入读取

  • 输入日期的读取:
    使用 self.dateEdit.date() 方法;
    返回:date类型的属性值
    转为string类型:使用toString()方法
    得到2021-07-01形式:toString()方法参数设为Qt.ISODate
self.dateChoice = self.dateEdit.date()  # 选择日期
print(self.dateChoice,type(self.dateChoice))

##输出
##PyQt5.QtCore.QDate(2018, 7, 1) <class 'PyQt5.QtCore.QDate'>
  • 使用toString()方法
self.dateChoice = self.dateEdit.date().toString()  # 选择日期
print(self.dateChoice,type(self.dateChoice))

##输出
##周日 7月 1 2018 <class 'str'>
  • toString()方法参数设定为Qt.ISODate即可得到 YYYY-mm-dd形式的字符串表达
self.dateChoice = self.dateEdit.date().toString(Qt.ISODate)  # 选择日期
print(self.dateChoice,type(self.dateChoice))

##输出
##2018-07-01 <class 'str'>
  • toString()方法及其参数的选择:
    未放过多精力查阅,但以上参数确实可行。挖个坑吧。
  • ISODate 类型:
    。。。
  • 7
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值