addspecialitem.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef ADDSPECIALITEM_H
  2. #define ADDSPECIALITEM_H
  3. /**
  4. * 注意事:
  5. * 1、这里的日期用的提升方式,提升为CalendarTEdit,日期图标
  6. * 直接设置的箭头图标,如果想显示出来,需要设置setCalendarPopup为true
  7. */
  8. #include <QDialog>
  9. #include <QTime>
  10. #include <QDate>
  11. #include <QEventLoop>
  12. #include "spdlog/spdlog.h"
  13. class ExecPlan;
  14. class QComboBox;
  15. namespace Ui {
  16. class AddSpecialItem;
  17. }
  18. class AddSpecialItem : public QDialog
  19. {
  20. Q_OBJECT
  21. public:
  22. explicit AddSpecialItem(QWidget *parent = nullptr);
  23. ~AddSpecialItem();
  24. signals:
  25. void signal_AddSpecialItem(QString dev,QString action,QDate date,QTime time);/* 添加正常日期的项 */
  26. private slots:
  27. // void do_selectTime(); /* 选择时间 */
  28. // void do_selectDate(); /* 选择日期 */
  29. void do_ok(); /* 进行查重和关闭页面 */
  30. void do_close(); /* 在这个函数里检查loop否退出 */
  31. private:
  32. void setComboBoxWarning(QComboBox* bo,bool flag);/* 设置选择框报警 */
  33. void setTimeEditWarning(bool flag); /* 设置时间报警 */
  34. private:
  35. Ui::AddSpecialItem *ui;
  36. std::shared_ptr<spdlog::logger> m_logger = nullptr;
  37. ExecPlan* m_p = nullptr; /* 设置父类指针 */
  38. QString m_devName; /* 选择的设备 */
  39. QString m_action; /* 选择的动作 */
  40. QDate m_date;
  41. QTime m_time; /* 执行的时间 */
  42. QEventLoop* m_loop = nullptr; /* 将这个循环放到这里,防止退出时loop没有退出导致程序崩溃,推出时要检查loop是否还在运行 */
  43. };
  44. #endif // ADDSPECIALITEM_H