1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #ifndef PLANCARD_H
- #define PLANCARD_H
- #include <QWidget>
- #include <QStandardItemModel>
- #include <QSortFilterProxyModel>
- #include "TransmitterSwitchInfo.h"
- namespace Ui {
- class PlanCard;
- }
- /**
- * @brief 用户枚举值
- *
- */
- enum QtUserRole
- {
- UserRole_WeekDay = Qt::UserRole + 1, /* 周几 */
- UserRole_Time, /* 时间 */
- UserRole_OnOff /* 开关机 */
- };
- /**
- * @brief 自定义排序类
- *
- */
- class CSortModel : public QSortFilterProxyModel
- {
- Q_OBJECT
- public:
- explicit CSortModel(QObject *parent = nullptr) : QSortFilterProxyModel(parent) {}
- ~CSortModel() {}
- protected:
- /* 重载比较函数 */
- bool lessThan(const QModelIndex &left, const QModelIndex &right) const override;
- };
- class PlanCard : public QWidget
- {
- Q_OBJECT
- public:
- explicit PlanCard(QWidget *parent = nullptr);
- ~PlanCard();
- /* 设置频率信息 */
- void setChannelInfo(const ChannelInfo& info);
- /* 获取频率信息 */
- ChannelInfo& getChannelInfo() { return m_channelInfo; }
- /* 添加一项 */
- void addPlanItem(const enum_WeekDay weekDay, const QDateTime& time, const enum_OnOff onOff);
- /* 取出所有的计划信息 */
- void getAllPlanInfo(QList<ExecPlanItemInfo>& list);
- /* 设置计划列表 */
- void setPlanList(const QList<ExecPlanItemInfo>& list);
- private slots:
- /* 更改UI外观 */
- void do_setUIStyle();
- private:
- Ui::PlanCard *ui;
- ChannelInfo m_channelInfo; /* 频率信息 */
- QStandardItemModel* m_model; /* 表格模型,存储数据 */
- CSortModel* m_sortModel; /* 排序模型 */
- };
- #endif // PLANCARD_H
|