12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #ifndef UISTYLEMANAGER_H
- #define UISTYLEMANAGER_H
- #include <QObject>
- /**
- * @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 */
|