0
我试图在新的qwebengine(Qt5.4)中检索页面的源,但我不知道我在做什么错误:如何获得Qt 5.4页面的html源码 - qwebengine
QString html;
this->page()->toHtml([&html](const QString &result){ html = result; });
qDebug() << html; // is still empty
我试图在新的qwebengine(Qt5.4)中检索页面的源,但我不知道我在做什么错误:如何获得Qt 5.4页面的html源码 - qwebengine
QString html;
this->page()->toHtml([&html](const QString &result){ html = result; });
qDebug() << html; // is still empty
printf调试的第一步是检查lambda是否曾被调用过:{ qDebug() << "Lambda:" << result; html = result; }
。代码对我看起来很好。
但是,请确保您在发出loadFinished
之前不要致电toHtml
。这可能会导致它失败。
请注意,toHtml
异步运行。如果您在toHtml
调用之后立即打印html
的内容,则该回调将不会被调用。
我建议添加一个自定义信号给你的类,当HTML可用时,由回调发出。
或者,您可以直接在回调中对HTML代码执行任何操作。
我已经尝试过并向我展示了html代码,但html仍然不需要... – 000571245 2014-10-08 17:57:16
您是否知道该调用是异步的,也就是说,如果您在toHtml之后执行qDebug(),那么回调将不会被调用? – dom0 2014-10-08 17:58:37
你能解释一下更多你在说什么? – 000571245 2014-10-08 18:13:44