#ifndef MASKMANAGER_H #define MASKMANAGER_H #include #include class MaskManager : public QObject { Q_OBJECT public: //初始化时强制关联窗口 static void initialize(QWidget* mainWindow); static MaskManager* instance(); void showMask(QWidget* requester); void hideMask(QWidget* requester); protected: bool eventFilter(QObject* obj, QEvent* event) override; private: explicit MaskManager(QWidget* mainWindow); static MaskManager* m_instance; QWidget* m_mainWindow; QWidget* m_maskLayer; QSet m_activeRequests; }; #endif //MASKMANAGER_H