scopecalendarbtn.h 884 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef CALENDARSCOPEBTN_H
  2. #define CALENDARSCOPEBTN_H
  3. #include <QDateTime>
  4. #include <QPushButton>
  5. class ScopeCalendarBtn : public QPushButton
  6. {
  7. Q_OBJECT
  8. public:
  9. explicit ScopeCalendarBtn(QWidget *parent = nullptr);
  10. QDate From(){return m_dtFrom;}
  11. QDate To(){return m_dtTo;}
  12. void SetMinimumDate(const QDate &date);
  13. void SetMiaxmumDate(const QDate &date);
  14. void SetScope(const QDate &from, const QDate &to);
  15. void SetFormat(const QString &format = "%1 - %2"){m_strFormat = format;}
  16. signals:
  17. void sig_ScopeSelected(const QDate &from, const QDate &to);
  18. private slots:
  19. void OnPopBtnClicked();
  20. void OnScopeSelected(const QDate &from, const QDate &to);
  21. protected:
  22. void paintEvent(QPaintEvent *event);
  23. private:
  24. QDate m_dtFrom;
  25. QDate m_dtTo;
  26. QDate m_dtMin;
  27. QDate m_dtMax;
  28. QString m_strFormat;
  29. };
  30. #endif // CALENDARSCOPEBTN_H