本打算在,槽函数中执行doSomething()后,再继续执行。但是在signal发出后,先执行了槽函数中的exit(0)函数,后面的eventLoop.exec()随后执行,但此时已经没有exit()来终止eventLoop了,造成后面的代码永远也不会执行。切记:在exec()后再执行exit()!
错误代码
QEventLoop eventLoop;
QObject::connect(this, &Class::signal, [](){
doSomething();
eventLoop.exit(0);
});
emit signal();
eventLoop.exec();