qt - 如何为 QNetworkCookie 实现 qHash
问题描述
我正在尝试在 QSet 中收集 QNetworkCookies。我创建了 QSet QSet<QNetworkCookie> cookies
,然后使用编译器插入 cookie,
cookies.insert(cookie);
然后编译器告诉我,QNetworkCookie 没有 qHash,所以我添加了一个内联方法,如下面的代码清单所示。编译器现在很高兴,但是该方法永远不会被调用,并且该集合多次包含相同的 cookie。有人可以指出我正确的方向吗?
#ifndef BROWSER_H
#define BROWSER_H
#include <QDebug>
#include <QMainWindow>
#include <QNetworkCookie>
#include <QObject>
#include <QWebEngineView>
class Browser : public QMainWindow
{
Q_OBJECT
private:
QWebEngineView *webEngine;
QSet<QNetworkCookie> cookies;
public:
explicit Browser(const QUrl &url);
protected slots:
void finishLoading(bool);
void handleCookieAdded(const QNetworkCookie &cookie);
};
inline uint qHash(const QNetworkCookie &key, uint seed)
{
uint hash = qHash(key.domain(), seed) ^ qHash(key.name(), seed);
qDebug() << "qHash " << key.domain() << " " << key.name() << " " << hash;
return hash;
}
#endif // BROWSER_H
解决方案
推荐阅读
- prestashop - 在 cart-summary-totals.tpl 中包含模块的 tpl 文件
- android - 如果之前被拒绝许可,如何通过 USB 调试启用 apk 安装?
- docker - docker 镜像可以像 rpm noarch 一样跨平台吗?
- java - 添加一个按钮以转到另一个 jframe
- node.js - Cognito - 如何在与客户端从(通过放大)获得令牌的子域不同的子域上对 nodejs 后端的客户端进行身份验证?
- c - 我需要多少个信号量才能订购在两个进程之间拆分的一组函数?
- amazon-elastic-beanstalk - 在 Elastic Beanstalk 中升级到 Linux2 时的 get-config 密钥更改
- r - 在 R 中使用 aaply 进行 Voxel Wise 独立 t 检验
- javascript - 重新运行函数时出现 Knex.js 连接错误
- azure-devops - 苹果应用商店发布 fastlane 因凭据失败 | 天天要闻 我正在使用 API 身份验证