lhstylemanager.h 964 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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 RemoveWidget(QWidget* widget);
  17. void SetSkinStyle(SkinStyle style);
  18. SkinStyle GetCurSkinStyle(){return m_nCurStyle;}
  19. signals:
  20. void signal_skinStyleChanged(SkinStyle style);
  21. public slots:
  22. private:
  23. void UpdateWidgetStyle(QWidget* widget);
  24. private:
  25. //当前样式
  26. SkinStyle m_nCurStyle;
  27. //所有需要更改样式的widget
  28. QWidgetList m_widgetList;
  29. //白色样式表
  30. QString m_strWhiteStyle;
  31. //黑色样式表
  32. QString m_strBlackStyle;
  33. static LHStyleManager *m_instance;
  34. };
  35. #endif // LHSTYLEMANAGER_H