1

我正在尝试在新的 qwebengine(Qt5.4) 中检索页面的来源,但我不知道我做错了什么:

 QString html;
 this->page()->toHtml([&html](const QString &result){ html = result; });

 qDebug() << html; // is still empty
4

1 回答 1

2

printf 调试的第一步是检查是否曾经调用过 lambda: { qDebug() << "Lambda:" << result; html = result; }。代码对我来说看起来不错。

toHtml但是,请确保在发出之前不要调用loadFinished。这可能会导致它失败。

请注意toHtml异步操作。如果您在调用html后立即打印内容,toHtml则尚未调用回调。

我建议向您的类添加一个自定义信号,该信号在 HTML 可用时由回调发出。

或者,直接在回调中对 HTML 代码执行任何您想要执行的操作。

于 2014-10-08T17:44:13.650 回答