2016-09-26 26 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

相关问题