我正在尝试在新的qwebengine(Qt5.4)中检索页面的来源,但我不知道我做错了什么:
QString html;
this->page()->toHtml([&html](const QString &result){ html = result; });
qDebug() << html; // is still empty
答案 0 :(得分:1)
printf-debugging的第一步是检查lambda是否被调用:{ qDebug() << "Lambda:" << result; html = result; }
。代码对我来说很好。
但请确保在发出toHtml
之前不要致电loadFinished
。这可能会导致它失败。
请注意toHtml
以异步方式运行。如果您在html
调用之后立即打印toHtml
的内容,则尚未调用回调。
我建议在HTML可用时向您的类中添加一个自定义信号。
或者,直接在回调中对HTML代码执行任何操作。