1

Qwebkit を (タブで) 1 つ以上の QwebView で開くようにすることはできますか? それぞれが独自の Cookie を保持し、独自のセッションを開きます。最後に、複数のメールを開いて 1 つのブラウザで表示できるようにしたい

4

2 に答える 2

4

QWebViewは、独自に Cookie を処理しません。代わりに、その作業は各​​ QWebPageに求心するQNetworkAccessManagerにオフロードされますが、 QWebView が各 QWebView に同じ QNeworkAccessManager を設定するのか、それとも異なるものを使用するのかは現在わかりませんが、後者は難しいアプローチに見えるかもしれません。

QWebPage::networkAccessManager ()を使用して、QWebPage を担当する QNetworkAccessManager を取得し、QWebPage::setNetworkAccessManagerを設定することができます。

QNetworkAccessManager::cookieJar ()を使用して、特定の QNetworkAccessManage の Cookie を処理するQNetworkCookieJarのハンドルを取得します。

したがって、QWebView のさまざまなインスタンスを作成するか、QNetworkAccessManager のさまざまなインスタンスを直接かつ賢明に使用すると、さまざまな Cookie セッション/jar を使用してさまざまなブラウザー ビューを作成し、希望する結果を得ることができます。

于 2011-01-21T07:50:15.200 に答える
1

この質問は1年以上前のものであることは知っていますが、複数のセッションをセットアップするためのコードを投稿すると思いました.

QWebView webView = new QWebView();
QNetworkCookieJar cookieJar = new QNetworkCookieJar();
QNetworkAccessManager nam = new QNetworkAccessManager();
nam.setCookieJar(cookieJar);
webView.page()->setNetworkAccessManager(nam);

このコードを使用すると、複数のセッションを作成し、このコードを独自のクラスに含めて、クラスのインスタンスをインスタンス化するだけで、アプリケーション内に複数の自己完結型 Web ブラウザー セッションを含めることができます。

于 2012-02-02T05:40:45.033 に答える