#ifndef ADDSPECIALITEM_H #define ADDSPECIALITEM_H /** * 注意事: * 1、这里的日期用的提升方式,提升为CalendarTEdit,日期图标 * 直接设置的箭头图标,如果想显示出来,需要设置setCalendarPopup为true */ #include #include #include #include #include "spdlog/spdlog.h" class ExecPlan; class QComboBox; namespace Ui { class AddSpecialItem; } class AddSpecialItem : public QDialog { Q_OBJECT public: explicit AddSpecialItem(QWidget *parent = nullptr); ~AddSpecialItem(); signals: void signal_AddSpecialItem(QString dev,QString action,QDate date,QTime time);/* 添加正常日期的项 */ private slots: // void do_selectTime(); /* 选择时间 */ // void do_selectDate(); /* 选择日期 */ void do_ok(); /* 进行查重和关闭页面 */ void do_close(); /* 在这个函数里检查loop否退出 */ private: void setComboBoxWarning(QComboBox* bo,bool flag);/* 设置选择框报警 */ void setTimeEditWarning(bool flag); /* 设置时间报警 */ private: Ui::AddSpecialItem *ui; std::shared_ptr m_logger = nullptr; ExecPlan* m_p = nullptr; /* 设置父类指针 */ QString m_devName; /* 选择的设备 */ QString m_action; /* 选择的动作 */ QDate m_date; QTime m_time; /* 执行的时间 */ QEventLoop* m_loop = nullptr; /* 将这个循环放到这里,防止退出时loop没有退出导致程序崩溃,推出时要检查loop是否还在运行 */ }; #endif // ADDSPECIALITEM_H