lhstylemanager.h 873 B

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