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