2016-09-26 107 views
0

我正在使用Qt信號和插槽。我使用以下信號插槽調用。void QWebView :: loadFinished(bool ok)ok總是假

connect(this, SIGNAL(loadFinished(bool)), this, SLOT(finishedLoadNotification(bool))); 

當信號loadFinished被髮射,槽finishedLoadNotification被調用。在finishedLoadNotification中,變量'ok'始終爲false。我想知道'ok'的值是否設置爲false。從代碼中,我無法找到'ok'的值。你能幫我找出變量'ok'設置爲false的位置嗎?

回答

0

布爾只是意味着發生了錯誤與否。您無法通過處理網頁的加載進度來檢查正確的加載進度。讓我們使用loadProgress(int progress)連接到您自己的插槽:

void MyCalss::handleProgress(int progress) { 
    bool loaded = (progress == 100); 
    if (_loaded != loaded) { // State changed, let's emit a signal 
     _loaded = loaded; 
     emit webViewLoaded(loaded); 
    } 
} 
+0

該信號由QT框架發出。我們不會在代碼中發出信號。因此,我們無法確定ok的值設置爲false。 – mspms