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 デバッグの最初のステップは、ラムダが呼び出されたかどうかを確認することです{ qDebug() << "Lambda:" << result; html = result; }。コードは私には問題ないようです。

toHtmlただし、 が発行される前に呼び出さないようにしてくださいloadFinished。これにより、失敗する可能性があります。

toHtmlは非同期で動作することに注意してください。html呼び出しの直後に内容を印刷するtoHtmlと、コールバックはまだ呼び出されていません。

HTML が使用可能になったときにコールバックによって発行されるカスタム シグナルをクラスに追加することをお勧めします。

または、コールバックで HTML コードを直接処理します。

于 2014-10-08T17:44:13.650 に答える