123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- #ifndef ADDSPECIALITEM_H
- #define ADDSPECIALITEM_H
- /**
- * 注意事:
- * 1、这里的日期用的提升方式,提升为CalendarTEdit,日期图标
- * 直接设置的箭头图标,如果想显示出来,需要设置setCalendarPopup为true
- */
- #include <QDialog>
- #include <QTime>
- #include <QDate>
- #include <QComboBox>
- class TimeWidget;
- class DeviceInfo;
- namespace Ui {
- class AddSpecialItem;
- }
- class AddSpecialItem : public QDialog
- {
- Q_OBJECT
- public:
- explicit AddSpecialItem(QWidget *parent = nullptr);
- ~AddSpecialItem();
- /* 设置父指针,时间选择器需要使用 */
- void setParentPointer(QWidget* p);
- /* 添加可选设备 */
- void setDevice(QMap<QString, DeviceInfo>& mapDev);
- /* 设置周几 */
- void setWeekDay(int week);
- /* 获取设别名称 */
- QString getDevName() const { return m_devName; }
- /* 获取动作 */
- QString getAction() const { return m_action; }
- int getActionID() const { return m_actionID; }
- /* 获取时间 */
- QTime getTime() const { return m_time; }
- /* 获取日期 */
- QDate getDate() const { return m_date; }
- /* 判断是否添加设备 */
- bool isAddDev() const { return m_isAddDev; }
- /* 设置QSS */
- void setQSS(QString qssPath);
- signals:
- /* 添加特殊日期项 */
- void signal_AddSpecialItem(QString dev, QString action, QDate date, QTime time);
- private slots:
- /* 进行查重和关闭页面 */
- void do_ok();
- /* 选择了设备,设置其对应的动作 */
- void do_selectDev();
- /* 选择了动作 */
- void do_selectAction();
- /* 点击了时间选择按钮,打开时间选择器 */
- void do_selectTime();
- /* 修改了日期 */
- void do_selectDate(const QDate &date);
- private:
- /* 设置选择框报警 */
- void setComboBoxWarning(QComboBox* bo,bool flag);
- /* 设置时间报警 */
- void setTimeEditWarning(bool flag);
- void setAction(const QString& devName);
- protected:
- /* 事件过滤器 */
- bool eventFilter(QObject *watched, QEvent *event) override;
- /* 绘画事件 */
- // void paintEvent(QPaintEvent *event) override;
- /* 鼠标点击事件 */
- void mousePressEvent(QMouseEvent *event) override;
- /* 鼠标移动事件 */
- void mouseMoveEvent(QMouseEvent *event) override;
- /* 鼠标释放事件 */
- void mouseReleaseEvent(QMouseEvent *event) override;
- private:
- Ui::AddSpecialItem *ui;
-
- QWidget* m_parent = nullptr; /* 父类指针 */
- QRect m_rectScreen; /* 屏幕大小 */
- int m_week = -1; /* 周几 */
- bool m_isAddDev = false; /* 是否添加设备 */
- QString m_devName; /* 选择的设备 */
- QString m_action; /* 选择的动作 */
- int m_actionID = 0; /* 动作ID */
- QTime m_time; /* 执行的时间 */
- QDate m_date; /* 执行的日期 */
- TimeWidget* m_timeWidget = nullptr; /* 时间选择器 */
- // OneShadow* m_shadow = nullptr; /* 阴影 */
- QPoint m_lastPos; /* 鼠标点击的位置 */
- };
- #endif // ADDSPECIALITEM_H
|