Pyqt5入门学习笔记(二)——下拉弹出日历

一、布局(可在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()

猜你喜欢

转载自blog.csdn.net/weixin_39626452/article/details/86700178