#ifndef LHSTYLEMANAGER_H #define LHSTYLEMANAGER_H #include #include #include #include enum SkinStyle{eWhiteStyle, eBlackStyle}; class LHStyleManager : public QObject { Q_OBJECT public: explicit LHStyleManager(QObject *parent = nullptr); ~LHStyleManager(); static LHStyleManager* Instance(); void AddWidget(QWidget* widget); void RemoveWidget(QWidget* widget); void SetSkinStyle(SkinStyle style); SkinStyle GetCurSkinStyle(){return m_nCurStyle;} signals: void signal_skinStyleChanged(SkinStyle style); public slots: private: void UpdateWidgetStyle(QWidget* widget); private: //当前样式 SkinStyle m_nCurStyle; //所有需要更改样式的widget QWidgetList m_widgetList; //白色样式表 QString m_strWhiteStyle; //黑色样式表 QString m_strBlackStyle; static LHStyleManager *m_instance; }; #endif // LHSTYLEMANAGER_H