calendardtedit.cpp 720 B

12345678910111213141516171819202122232425262728293031323334
  1. #include "calendardtedit.h"
  2. #include <QDebug>
  3. #include <QApplication>
  4. #include <QDesktopWidget>
  5. #include <QKeyEvent>
  6. #include "calendarex.h"
  7. CalendarDTEdit::CalendarDTEdit(QWidget *parent) : QDateTimeEdit(parent)
  8. {
  9. setCalendarPopup(false);// 阻止自带的日历窗口
  10. }
  11. CalendarDTEdit::~CalendarDTEdit()
  12. {
  13. }
  14. void CalendarDTEdit::CloseCalendar()
  15. {
  16. }
  17. void CalendarDTEdit::mousePressEvent(QMouseEvent *e)
  18. {
  19. Q_UNUSED(e);
  20. CalendarEx *pC = new CalendarEx(date());
  21. if (nullptr == pC) return;
  22. connect(pC, &CalendarEx::sig_DateChanged, this, [this](const QDate& date){
  23. if (date.isValid()) {
  24. setDate(date);
  25. }
  26. });
  27. pC->show();
  28. pC->positionCalendarPopup(this);
  29. }