清除 QtWebEngine 中的 cookie

Clear cookies in QtWebEngine

我正在将应用程序从 QtWebKit 升级到 QtWebEngine。该应用程序依赖于 WebKit 在关闭应用程序后不保留 cookie,但 WebEngine 似乎默认保留它们。

我对Qt一点都不熟悉。我一直在浏览文档,但我似乎无法找到正确的 API 调用来删除它们。该应用程序只有一个简单的前端 QWebEngineView。

QWebEngineProfileclass可以用。

void QWebEngineProfile::setPersistentCookiesPolicy(QWebEngineProfile::PersistentCookiesPolicy newPersistentCookiesPolicy)

Sets the policy for persistent cookies to newPersistentCookiesPolicy.

所以你可以这样做:

webEngineView->page()->profile()->setPersistentCookiesPolicy(QWebEngineProfile::NoPersistentCookies);

如果不需要更改PersistentCookiesPolicy,而只需要清理Cookies,则可以使用class QWebEngineCookieStore.[=13]的方法deleteAllCookies() =]

所以你可以这样做:

webEngineView->page()->profile()->cookieStore()->deleteAllCookies();