#include "calendardtedit.h" #include #include #include #include #include "calendarex.h" CalendarDTEdit::CalendarDTEdit(QWidget *parent) : QDateTimeEdit(parent) { setCalendarPopup(false);// 阻止自带的日历窗口 } CalendarDTEdit::~CalendarDTEdit() { } void CalendarDTEdit::CloseCalendar() { } void CalendarDTEdit::mousePressEvent(QMouseEvent *e) { Q_UNUSED(e); CalendarEx *pC = new CalendarEx(date()); if (nullptr == pC) return; connect(pC, &CalendarEx::sig_DateChanged, this, [this](const QDate& date){ if (date.isValid()) { setDate(date); } }); pC->show(); pC->positionCalendarPopup(this); }