| 1234567891011121314151617181920212223242526272829303132333435 | #ifndef CALENDARDTEDIT_H#define CALENDARDTEDIT_H#include <QWidget>#include <QDateTimeEdit>/* 需要设置这个属性,qss设置的图标才会生效 * setCalendarPopup(true); */class CalendarDTEdit : public QDateTimeEdit{    Q_OBJECTpublic:    explicit CalendarDTEdit(QWidget *parent = nullptr);    virtual ~CalendarDTEdit();    void SetCalendarAutoClose(bool value);    void CloseCalendar();    /* 手动触发日期选择弹框 */    void triggerCalendarPopup();    /* 设置手动禁止修改日期区域,只能使用弹窗,第二个参数设置点击日期是否会出现日期选择弹框 */    void setManualDisableEdit(bool value, bool triggerPopup = false);signals:    void sig_SetCurrentPage(int year, int month);protected:    void mousePressEvent(QMouseEvent* e) override;    bool eventFilter(QObject* watched, QEvent* event) override;private:    QObject* m_pCalendar = nullptr;    bool m_isPopup = false;};#endif // CALENDARDTEDIT_H
 |