lhstylemanager.h 935 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef LHSTYLEMANAGER_H
  2. #define LHSTYLEMANAGER_H
  3. #include <QObject>
  4. #include <QWidget>
  5. #include <QList>
  6. enum SkinStyle{eLightStyle, eDeepStyle};
  7. class LHStyleManager : public QObject
  8. {
  9. Q_OBJECT
  10. public:
  11. explicit LHStyleManager(QObject *parent = nullptr);
  12. ~LHStyleManager();
  13. static LHStyleManager* Instance();
  14. void AddWidget(QWidget* widget);
  15. void SetSkinStyle(int nStyle);
  16. int GetCurSkinStyle(){return m_nCurStyle;}
  17. void SetSkin(SkinStyle style){m_nCurStyle = style;}
  18. void ClearWidgetList(){m_widgetList.clear();}
  19. signals:
  20. public slots:
  21. private:
  22. void UpdateWidgetStyle(QWidget* widget);
  23. private:
  24. //当前样式
  25. int m_nCurStyle;
  26. //所有需要更改样式的widget
  27. QWidgetList m_widgetList;
  28. //白色样式表
  29. QString m_strWhiteStyle;
  30. //黑色样式表
  31. QString m_strBlackStyle;
  32. static LHStyleManager *m_instance;
  33. };
  34. #endif // LHSTYLEMANAGER_H