我正在尝试在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