QEventLoop 调用exec()后返回-1
开发的是Qt桌面应用,需要阻塞调用,开始调用exec是返回0正常的,quit也能及时响应,但是后面调用就会无脑返回-1,返回-1后调用过quit再次调用exec还是没用,还是返回-1。后面使用指针的方式,析构调用再重新New,调用exec还是返回-1,不知道为什么就会总是返回-1,请问是什么原因导致的啊,看了源码
QMutexLocker locker(&static_cast<QThreadPrivate *>(QObjectPrivate::get(d->threadData->thread))->mutex);
if (d->threadData->quitNow)
return -1;
if (d->inExec) {
qWarning("QEventLoop::exec: instance %p has already called exec()", this);
return -1;
}
好像就是前面判断返回的-1,因为后面的返回-1有打印,而我调用是没有打印的,不知道具体什么原因触发的的返回-1