#ifndef UISTYLEMANAGER_H #define UISTYLEMANAGER_H #include /** * @brief UI样式 * */ enum class enum_UIStyle { UI_Light = 0, /* 亮色 */ UI_Dark = 1 /* 暗色 */ }; #define EPUIStyle UIStyleManager::getInstance() /** * @brief 全局皮肤管理器,大部分的UI从这里加载qss文件 * */ class UIStyleManager : public QObject { Q_OBJECT UIStyleManager(); UIStyleManager(const UIStyleManager& config) = delete; UIStyleManager& operator=(const UIStyleManager& config) = delete; public: ~UIStyleManager() {} static UIStyleManager& getInstance() { static UIStyleManager config; return config; } QString StrQSS_TransmitterSwitch; /* 主窗口样式表 */ QString StrQSS_PBtnFrequency; /* 频率按钮样式表 */ QString StrQSS_PlanCard; /* 计划卡片样式表 */ QString StrQSS_ManagerPlan; /* 计划管理窗口样式表 */ /* 获取样式表路径 */ QString getQSSPath(); /* 换肤,修改样式表 */ void setUIStyle(enum_UIStyle style); /* 获取当前UI风格 */ enum_UIStyle getUIStyle() { return m_UIStyle; } signals: /* 样式表改变了 */ void signal_qssChanged(); private: /* 读取qss样式文件 */ void readQSSFile(); private: enum_UIStyle m_UIStyle; /* 当前UI样式 */ QString m_qssPath; /* 样式表路径 */ const QString m_lightQSS = "/white"; /* 亮色样式表路径 */ const QString m_darkQSS = "/dark"; /* 暗色样式表路径 */ }; #endif /* UISTYLEMANAGER_H */