#ifndef LOADFINISHEDGUARD__H #define LOADFINISHEDGUARD__H #include #include class LoadFinishedGuard: public QObject { Q_OBJECT public: LoadFinishedGuard(): loadFinishedFlag(false), successFlag(false) {} bool WaitLoadFinished() { while (!loadFinishedFlag) { QApplication::processEvents(QEventLoop::ExcludeUserInputEvents); } return successFlag; } public slots: void loadFinished(bool ok) { loadFinishedFlag = true; successFlag = ok; } private: bool loadFinishedFlag; bool successFlag; }; #endif