開發的是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
uj5u.com熱心網友回復:
波風,我知道是你
uj5u.com熱心網友回復:
我要被你笑死,自己已經規避了這個問題,但是觸發的原因分析可能是多次呼叫沒釋放吧,反正現在也算是曲線解決了
uj5u.com熱心網友回復:
我覺得你應該貼你的代碼,而不是Qt的代碼。uj5u.com熱心網友回復:
我都代碼就是

就是加載exec()瘋狂回傳-1
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/72492.html
標籤:Qt
上一篇:用android studio opencv去檢測圖片中的三角形和矩形和圓形的數量的大體思路 ,多多指教?
下一篇:微信公眾號帶引數生成的二維碼為什么帶上logo后識別不了了,不帶引數生成的二維碼帶logo可以識別,why?有哪個小伙伴了解嗎?
