我有一个QT应用程序,它会加载一些文件,但是需要一些时间。我在另一个线程中启动了加载过程,但问题是我的后台GUI被冻结了,加载过程仍会继续进行。我想隐藏主gui,但线程仍在运行,并且在线程完成窗口的同时消失另一个窗口,同时出现正在加载的git窗口,并使主gui重新出现
这是我的代码:
std::thread loading(&RecVideoReader::initTimeStempMap,&recvideo);
QLabel *lbl = new QLabel;
QMovie *movie = new QMovie("Gear-5s-200px.gif");
lbl->setMovie(movie);
lbl->show();
movie->start();
while(!recvideo.isMapInit()){
this->hide();
Sleep(1000);
}this->show();
loading.join();
movie->stop();
lbl->hide();