0

カスタマイズされた QNetworkAccessManager と QWebPage クラスがあり、QWebPage によって取得された各要求の応答データを読みたいと思っています。

ここで、finished() シグナルを接続しましたが、QWebPage が最初に接続したため、QWebPage の最初の finished() スロットが QNetworkReply オブジェクトからすべてのデータを読み取るため、QNetworkAccessManager のスロットは何も読み取れません。

QObject の接続のリストに接続を追加する代わりに、接続を「挿入」できますか?

4

1 に答える 1

0

問題は、それができたとしても、QWebPageはオブジェクトからデータを読み取ることができないということQNetworkReplyです。これは、応答がシーケンシャルQIODeviceであり、データを 1 回しか読み取ることができないためです。

私がこれに対処できた唯一の方法は、オーバーライドして、実際の応答オブジェクトのラッパーとして機能するサブクラスをQNetworkAccessManager::createRequest返させることです。これにより、受信データをキャプチャできます。QNetworkReply

ああ、QWebPage で使用されている QNetworkReply からデータを読み取る方法を参照してください。解決のために。

于 2013-03-18T10:20:14.497 に答える