Я пытаюсь собрать QNetworkCookies в QSet.Я создаю QSet QSet<QNetworkCookie> cookies
и затем вставляю куки с 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