一、布局(可在Qtdesigner或者直接py文件中写入)
在QtDesigner中拖动Date Edit/ Date Time Edit控件和自带的Calender Widget,或者直接在py文件中写入这两个控件:
二、dateEdit/dateTimeEdit的一些设置:
需要from PyQt5.QtCore import QDate, QDateTime , QTime这几个类
(1)设置显示的默认时间和日期为当前日期和时间:
#默认下,不指定日期的时间,系统会设置一个和本地相同的日期时间格式,时间默认2000年1月1日0时0分0秒
dateTimeEdit = QDateTimeEdit(self)
#指定当前日期时间为控件的日期时间
dateTimeEdit2 = QDateTimeEdit(QDateTime.currentDateTime(), self)
#指定当前地日期为控件的日期,注意没有指定时间
dateEdit = QDateTimeEdit(QDate.currentDate(), self)
#指定当前地时间为控件的时间,注意没有指定日期
timeEdit = QDateTimeEdit(QTime.currentTime(), self)
(2)设置显示格式:
self.dateEdit.setDisplayFormat('yyyy-MM-dd')
self.dateTimeEdit.setDisplayFormat("yyyy-MM-dd HH:mm:ss")
self.dateTimeEdit2.setDisplayFormat("yyyy/MM/dd HH-mm-ss")
self.dateEdit.setDisplayFormat("yyyy.MM.dd")
self.timeEdit.setDisplayFormat("HH:mm:ss")
(3) 设置日期最大值和最小值:
在当前日期的基础上前十年和后十年,参数自己设定
self.dateEdit.setMinimumDate(QDate.currentDate().addDays(-3650))
self.dateEdit.setMaximumDate(QDate.currentDate().addDays(3650))
(4)设置日历控件允许弹出:
self.dateEdit.setCalendarPopup(True)
(5)运行效果如下
三、后续操作
(1)当日起改变时触发槽函数:
self.dateEdit.dateChanged.connect(self.onDateChanged)
(2)获取当前日期:
dateTime=self.dateEdit.dateTime()