Класс QWebEngineProfile
Класс QWebEngineProfile предоставляет профиль веб-движка, используемый несколькими страницами. Подробнее...
| Заголовок: | #include <QWebEngineProfile> |
| CMake: | find_package(Qt6 COMPONENTS WebEngineCore REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
| qmake: | QT += webenginecore |
| С момента: | Qt 5.5 |
| Наследуется от: | QObject |
Типы
| Перечисление | HttpCacheType { КэшВПамять, КэшНаДиск, БезКеша } |
| Перечисление | PersistentCookiesPolicy { НетПостоянныхКуки, РазрешитьПостоянныеКуки, ВынужденныеПостоянныеКуки } |
Открытые функции
| QWebEngineProfile(const QString &storageName, QObject *parent = nullptr) | |
| QWebEngineProfile(QObject *parent = nullptr) | |
| QString | cachePath() const |
| void | clearAllVisitedLinks() |
| void | clearHttpCache() |
| void | clearVisitedLinks(const QList<QUrl> &urls) |
| QWebEngineClientCertificateStore * | clientCertificateStore() |
| QWebEngineCookieStore * | cookieStore() |
| QString | downloadPath() const |
| QString | httpAcceptLanguage() const |
| int | httpCacheMaximumSize() const |
| QWebEngineProfile::HttpCacheType | httpCacheType() const |
| QString | httpUserAgent() const |
| void | installUrlSchemeHandler(const QByteArray &scheme, QWebEngineUrlSchemeHandler *handler) |
| bool | isOffTheRecord() const |
| bool | isSpellCheckEnabled() const |
| QWebEngineProfile::PersistentCookiesPolicy | persistentCookiesPolicy() const |
| QString | persistentStoragePath() const |
| void | removeAllUrlSchemeHandlers() |
| void | removeUrlScheme(const QByteArray &scheme) |
| void | removeUrlSchemeHandler(QWebEngineUrlSchemeHandler *handler) |
| void | requestIconForIconURL(const QUrl &url, int desiredSizeInPixel, std::function<void (const QIcon &, const QUrl &)> iconAvailableCallback) const |
| void | requestIconForPageURL(const QUrl &url, int desiredSizeInPixel, std::function<void (const QIcon &, const QUrl &, const QUrl &)> iconAvailableCallback) const |
| QWebEngineScriptCollection * | scripts() const |
| void | setCachePath(const QString &path) |
| void | setDownloadPath(const QString &path) |
| void | setHttpAcceptLanguage(const QString &httpAcceptLanguage) |
| void | setHttpCacheMaximumSize(int maxSize) |
| void | setHttpCacheType(QWebEngineProfile::HttpCacheType httpCacheType) |
| void | setHttpUserAgent(const QString &userAgent) |
| void | setNotificationPresenter(std::function<void (std::unique_ptr<QWebEngineNotification>)> notificationPresenter) |
| void | setPersistentCookiesPolicy(QWebEngineProfile::PersistentCookiesPolicy newPersistentCookiesPolicy) |
| void | setPersistentStoragePath(const QString &path) |
| void | setSpellCheckEnabled(bool enable) |
| void | setSpellCheckLanguages(const QStringList &languages) |
| void | setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor) |
| QWebEngineSettings * | settings() const |
| QStringList | spellCheckLanguages() const |
| QString | storageName() const |
| const QWebEngineUrlSchemeHandler * | urlSchemeHandler(const QByteArray &scheme) const |
| bool | visitedLinksContainsUrl(const QUrl &url) const |
Сигналы
| void | downloadRequested(QWebEngineDownloadRequest *download) |
Статические публичные члены
| QWebEngineProfile * | defaultProfile() |
Подробное описание
Профиль веб-движка содержит настройки, скрипты, политику кэширования постоянных файлов cookie и список посещенных ссылок, которые используются всеми страницами веб-движка, принадлежащими профилю.
Все страницы, относящиеся к профилю, используют общую экземпляр QWebEngineSettings, к которой можно получить доступ с помощью метода settings(). Аналогично, метод scripts() предоставляет доступ к общей экземпляру QWebEngineScriptCollection.
Информация о посещенных ссылках хранится вместе с постоянными cookie и другими постоянными данными в хранилище, возвращаемом методом storageName(). Постоянные данные хранятся в подкаталоге, заданном вызовом setPersistentStoragePath(), а кэш находится в подкаталоге, заданном вызовом setCachePath(). Тип кэша может быть установлен в в оперативной памяти или на диске с помощью вызова setHttpCacheType(). Если задано только имя хранилища, подкаталоги создаются и именовываются автоматически. Если вы устанавливаете какие-либо значения вручную, сделайте это до создания каких-либо страниц, относящихся к профилю.
Кэш можно очистить от ссылок, вызвав clearVisitedLinks() или clearAllVisitedLinks(). PersistentCookiesPolicy описывает, сохраняются ли сеансовые и постоянные cookie в памяти или на диске и восстанавливаются из неё.
Профили могут использоваться для изоляции страниц друг от друга. Типичный случай использования — выделенный профиль «без записи» для режима «приватного просмотра». Использование QWebEngineProfile() без определения имени хранилища создаёт новый профиль «без записи», который не оставляет следов на локальной машине и не имеет постоянных данных или кэша. Метод isOffTheRecord() можно использовать для проверки, является ли профиль профилем «без записи».
Доступ к профилю по умолчанию можно получить с помощью defaultProfile(). Это встроенный профиль, к которому принадлежат все веб-страницы, не созданные специально с другим профилем.
Реализация интерфейса QWebEngineUrlRequestInterceptor и регистрация интерцептора в профиле с помощью setUrlRequestInterceptor() позволяют перехватывать, блокировать и изменять запросы URL (QWebEngineUrlRequestInfo) перед их поступлением в сетевой стек Chromium.
Можно зарегистрировать QWebEngineUrlSchemeHandler для профиля с помощью installUrlSchemeHandler(), чтобы добавить поддержку пользовательских схем URL. Запросы для схемы затем передаются в QWebEngineUrlSchemeHandler::requestStarted() в качестве объектов QWebEngineUrlRequestJob.
Проверку правописания полей HTML-форм можно включить на уровне профиля, используя метод setSpellCheckEnabled(), а текущие языки, используемые для проверки правописания, можно задать, используя метод setSpellCheckLanguages().
Документация по типам членов
перечисление QWebEngineProfile::HttpCacheType
Это перечисление описывает тип кэша HTTP:
| Константа | Значение | Описание |
|---|---|---|
QWebEngineProfile::MemoryHttpCache |
0 |
Используйте кэш в оперативной памяти. Это значение по умолчанию, если off-the-record задано. |
QWebEngineProfile::DiskHttpCache |
1 |
Используйте кэш на диске. Это значение по умолчанию, если профиль не off-the-record. Если задано для профиля off-the-record, то вместо этого будет установлено MemoryHttpCache. |
QWebEngineProfile::NoCache |
2 |
Отключить кэширование как в оперативной памяти, так и на диске. (Добавлено в Qt 5.7) |
перечисление QWebEngineProfile::PersistentCookiesPolicy
Это перечисление описывает политику сохранения cookie:
| Константа | Значение | Описание |
|---|---|---|
QWebEngineProfile::NoPersistentCookies |
0 |
И сеансовые, и постоянные cookie хранятся в оперативной памяти. Это единственное возможное значение, если off-the-record задано или путь к постоянным данным недоступен. |
QWebEngineProfile::AllowPersistentCookies |
1 |
Постоянные cookie сохраняются и восстанавливаются с диска, тогда как сеансовые cookie сохраняются на диске только для восстановления после сбоя. Это значение по умолчанию. |
QWebEngineProfile::ForcePersistentCookies |
2 |
И сеансовые, и постоянные cookie сохраняются и восстанавливаются с диска. |
Документация по функциям-членам
QWebEngineProfile::QWebEngineProfile(const QString &storageName, QObject *parent = nullptr)
Создаёт новый профиль с именем хранилища storageName и родителем parent.
Имя хранилища должно быть уникальным.
Профиль QWebEngineProfile на основе диска должен быть удалён до или во время завершения работы приложения, в противном случае кэш и постоянные данные могут не быть полностью записаны на диск.
См. также storageName().
QWebEngineProfile::QWebEngineProfile(QObject *parent = nullptr)
Создаёт новый профиль «без записи» с родителем parent.
Профиль «без записи» не оставляет следов на локальной машине и не имеет постоянных данных или кэша. Таким образом, кэш HTTP может быть только в оперативной памяти, а cookie только не постоянные. Попытка изменить эти параметры не повлияет.
См. также isOffTheRecord().
[signal, since 5.5] void QWebEngineProfile::downloadRequested(QWebEngineDownloadRequest *download)
Этот сигнал излучается всякий раз, когда инициируется загрузка. Аргумент download содержит состояние загрузки. Загрузку необходимо явно принять с помощью QWebEngineDownloadRequest::accept(), в противном случае она будет отменена по умолчанию. Элемент загрузки является потомком профиля. Если он не принят, он будет удалён сразу после излучения сигнала. Этот сигнал нельзя использовать с подключением в очереди.
Эта функция была введена в Qt 5.5.
См. также QWebEngineDownloadRequest и QWebEnginePage::download().
QString QWebEngineProfile::cachePath() const
Возвращает путь, используемый для кэша.
По умолчанию, он находится ниже StandardPaths::CacheLocation в подкаталоге, специфичном для QtWebengine/StorageName.
Примечание: Используйте QStandardPaths::writableLocation(QStandardPaths::CacheLocation) для получения пути QStandardPaths::CacheLocation.
См. также setCachePath(), storageName() и QStandardPaths::writableLocation().
void QWebEngineProfile::clearAllVisitedLinks()
Очищает все ссылки из базы данных посещённых ссылок.
См. также clearVisitedLinks().
[since 5.7] void QWebEngineProfile::clearHttpCache()
Удаляет записи кэша профиля.
Эта функция была введена в Qt 5.7.
void QWebEngineProfile::clearVisitedLinks(const QList<QUrl> &urls)
Удаляет ссылки из urls из базы данных посещённых ссылок.
См. также clearAllVisitedLinks().
[since 5.13] QWebEngineClientCertificateStore *QWebEngineProfile::clientCertificateStore()
Возвращает хранилище сертификатов клиента профиля.
Эта функция была введена в Qt 5.13.
[since 5.6] QWebEngineCookieStore *QWebEngineProfile::cookieStore()
Возвращает хранилище cookie для этого профиля.
Эта функция была введена в Qt 5.6.
[static] QWebEngineProfile *QWebEngineProfile::defaultProfile()
Возвращает профиль по умолчанию.
Профиль по умолчанию — профиль «без записи».
См. также storageName().
[since 5.13] QString QWebEngineProfile::downloadPath() const
Путь к расположению, где хранятся загруженные файлы.
Примечание: По умолчанию, путь к загрузкам — QStandardPaths::DownloadLocation.
Эта функция была введена в Qt 5.13.
См. также setDownloadPath() и QStandardPaths::writableLocation().
[since 5.6] QString QWebEngineProfile::httpAcceptLanguage() const
Возвращает значение поля HTTP Accept-Language.
Эта функция была введена в Qt 5.6.
См. также setHttpAcceptLanguage().
END_OF_DOCUMENT_MARKERint QWebEngineProfile::httpCacheMaximumSize() const
Возвращает максимальный размер кэша HTTP в байтах.
Вернёт 0, если размер автоматически контролируется QtWebEngine.
См. также setHttpCacheMaximumSize() и httpCacheType().
QWebEngineProfile::HttpCacheType QWebEngineProfile::httpCacheType() const
Возвращает тип используемого кэша HTTP.
Если профиль конфиденциальный, возвращается MemoryHttpCache.
См. также setHttpCacheType() и cachePath().
QString QWebEngineProfile::httpUserAgent() const
Возвращает строку user-agent, отправляемую с HTTP для идентификации браузера.
Примечание: На Windows 8.1 и новее, по умолчанию, user agent будет всегда сообщать "Windows NT 6.2" (Windows 8), если приложение не содержит манифест, в котором объявлены поддерживаемые более новые версии Windows.
См. также setHttpUserAgent().
[since 5.6] void QWebEngineProfile::installUrlSchemeHandler(const QByteArray &scheme, QWebEngineUrlSchemeHandler *handler)
Регистрирует обработчик handler для пользовательской схемы URL scheme в профиле.
Необходимо сначала зарегистрировать схему с помощью QWebEngineUrlScheme::registerScheme при запуске приложения.
Функция была добавлена в Qt 5.6.
bool QWebEngineProfile::isOffTheRecord() const
Возвращает true, если это конфиденциальный профиль, который не оставляет записей на компьютере.
Это заставит куки и кэш HTTP храниться в памяти, но также заставит всё остальное, обычно сохраняемое постоянно, храниться в памяти.
[since 5.8] bool QWebEngineProfile::isSpellCheckEnabled() const
Возвращает true, если проверка орфографии включена, иначе возвращает false.
Функция была добавлена в Qt 5.8.
См. также setSpellCheckEnabled().
QWebEngineProfile::PersistentCookiesPolicy QWebEngineProfile::persistentCookiesPolicy() const
Возвращает текущую политику для постоянных файлов cookie.
Если профиль конфиденциальный, возвращается NoPersistentCookies.
См. также setPersistentCookiesPolicy().
QString QWebEngineProfile::persistentStoragePath() const
Возвращает путь, используемый для хранения постоянных данных браузера и веб-контента.
Постоянные данные включают постоянные файлы cookie, локальное хранилище HTML5 и посещённые ссылки.
По умолчанию, это расположено под QStandardPaths::DataLocation в специальной поддиректории QtWebengine/StorageName.
Примечание: Используйте QStandardPaths::writableLocation(QStandardPaths::DataLocation) для получения пути QStandardPaths::DataLocation.
См. также setPersistentStoragePath(), storageName() и QStandardPaths::writableLocation().
[since 5.6] void QWebEngineProfile::removeAllUrlSchemeHandlers()
Удаляет все пользовательские обработчики схемы URL, установленные в профиле.
Функция была добавлена в Qt 5.6.
[since 5.6] void QWebEngineProfile::removeUrlScheme(const QByteArray &scheme)
Удаляет пользовательскую схему URL scheme из профиля.
Функция была добавлена в Qt 5.6.
См. также removeUrlSchemeHandler().
[since 5.6] void QWebEngineProfile::removeUrlSchemeHandler(QWebEngineUrlSchemeHandler *handler)
Удаляет пользовательский обработчик схемы URL handler из профиля.
Функция была добавлена в Qt 5.6.
См. также removeUrlScheme().
[since 6.2] void QWebEngineProfile::requestIconForIconURL(const QUrl &url, int desiredSizeInPixel, std::function<void (const QIcon &, const QUrl &)> iconAvailableCallback) const
Запрашивает иконку с указанным url из базы данных. Каждый профиль имеет свою базу данных иконок, которая хранится в постоянном хранилище, поэтому к сохранённым иконкам можно получить доступ и без подключения к сети. Иконка должна быть предварительно загружена, чтобы быть сохранённой в базе данных.
url указывает URL иконки. В случае нескольких доступных иконок будет возвращена иконка с размером, наиболее близким к desiredSizeInPixel. Результирующая иконка масштабируется до desiredSizeInPixel. Если desiredSizeInPixel равно 0, возвращается самая большая доступная иконка.
Функция асинхронная и результат возвращается через iconAvailableCallback. Кэллбэк вызывается, если запрос на иконку выполнен. Если запрошенная иконка доступна, первый параметр (типа QIcon) — это результат. В противном случае — null.
Второй параметр хранит URL запрошенной иконки. Он пуст, если иконку нельзя получить.
Примечание: Иконки нельзя запросить с помощью конфиденциального профиля.
Функция была добавлена в Qt 6.2.
См. также requestIconForPageURL().
[since 6.2] void QWebEngineProfile::requestIconForPageURL(const QUrl &url, int desiredSizeInPixel, std::function<void (const QIcon &, const QUrl &, const QUrl &)> iconAvailableCallback) const
Запрашивает иконку для ранее загруженной страницы с этим профилем из базы данных. Каждый профиль имеет свою базу данных иконок, которая хранится в постоянном хранилище, поэтому к сохранённым иконкам можно получить доступ и без подключения к сети. Иконка должна быть предварительно загружена, чтобы быть сохранённой в базе данных.
url указывает URL страницы, для которой запрашивается иконка. В случае нескольких доступных иконок будет возвращена иконка с размером, наиболее близким к desiredSizeInPixel. Результирующая иконка масштабируется до desiredSizeInPixel. Если desiredSizeInPixel равно 0, возвращается самая большая доступная иконка.
Функция асинхронная и результат возвращается через iconAvailableCallback. Кэллбэк вызывается, если запрос на иконку выполнен. Если запрошенная иконка доступна, первый параметр (типа QIcon) — это результат. В противном случае — null.
Второй параметр хранит URL запрошенной иконки. Он пуст, если иконку нельзя получить.
Третий параметр хранит URL страницы, к которой присвоена иконка.
Примечание: Иконки нельзя запросить с помощью конфиденциального профиля.
Функция была добавлена в Qt 6.2.
См. также requestIconForIconURL().
QWebEngineScriptCollection *QWebEngineProfile::scripts() const
Возвращает коллекцию скриптов, которые внедряются во все страницы, использующие этот профиль.
См. также QWebEngineScriptCollection, QWebEngineScript, QWebEnginePage::scripts() и Внедрение скриптов.
void QWebEngineProfile::setCachePath(const QString &path)
Переопределяет путь по умолчанию, используемый для кэша на диске, устанавливая его в path.
Если установлено пустая строка, восстанавливается путь по умолчанию.
См. также cachePath().
[since 5.13] void QWebEngineProfile::setDownloadPath(const QString &path)
Переопределяет путь по умолчанию для сохранения загрузок, устанавливая его в path.
Если установлено пустая строка, восстанавливается путь по умолчанию.
Функция была добавлена в Qt 5.13.
См. также downloadPath().
[since 5.6] void QWebEngineProfile::setHttpAcceptLanguage(const QString &httpAcceptLanguage)
Устанавливает значение заголовка HTTP Accept-Language в httpAcceptLanguage.
Функция была добавлена в Qt 5.6.
См. также httpAcceptLanguage().
void QWebEngineProfile::setHttpCacheMaximumSize(int maxSize)
Устанавливает максимальный размер кэша HTTP в maxSize байт.
Установка значения 0 означает, что размер будет автоматически контролироваться QtWebEngine.
См. также httpCacheMaximumSize() и setHttpCacheType().
void QWebEngineProfile::setHttpCacheType(QWebEngineProfile::HttpCacheType httpCacheType)
Устанавливает тип кэша HTTP в httpCacheType.
См. также httpCacheType() и setCachePath().
void QWebEngineProfile::setHttpUserAgent(const QString &userAgent)
Переопределяет строку пользователя по умолчанию, устанавливая её в userAgent.
См. также httpUserAgent().
[since 5.13] void QWebEngineProfile::setNotificationPresenter(std::function<void (std::unique_ptr<QWebEngineNotification>)> notificationPresenter)
Устанавливает функцию notificationPresenter как ответственную за отображение отправленных уведомлений.
Эта функция была добавлена в Qt 5.13.
См. также QWebEngineNotification.
void QWebEngineProfile::setPersistentCookiesPolicy(QWebEngineProfile::PersistentCookiesPolicy newPersistentCookiesPolicy)
Устанавливает политику для постоянных файлов cookie в newPersistentCookiesPolicy.
См. также persistentCookiesPolicy().
void QWebEngineProfile::setPersistentStoragePath(const QString &path)
Переопределяет путь по умолчанию, используемый для хранения постоянных данных веб-движка.
Если path установлено в пустую строку, восстанавливается путь по умолчанию.
См. также persistentStoragePath().
[since 5.8] void QWebEngineProfile::setSpellCheckEnabled(bool enable)
Включает проверку орфографии, если enable равно true, в противном случае отключает её.
Эта функция была добавлена в Qt 5.8.
См. также isSpellCheckEnabled().
[since 5.8] void QWebEngineProfile::setSpellCheckLanguages(const QStringList &languages)
Устанавливает текущий список языков для проверки орфографии. Каждый язык должен соответствовать имени словаря .bdic. Например, язык en-US загрузит словарь en-US.bdic.
См. документацию по функции проверки орфографии для получения информации о поиске файлов словарей.
Для получения дополнительной информации о том, как скомпилировать словари .bdic, см. Пример проверки орфографии.
Эта функция была добавлена в Qt 5.8.
См. также spellCheckLanguages().
[since 5.13] void QWebEngineProfile::setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)
Регистрирует объект-синглтон обработчика запросов interceptor для перехвата запросов URL.
Профиль не принимает на себя владение указателем.
Эта функция была добавлена в Qt 5.13.
См. также QWebEngineUrlRequestInfo и QWebEngineUrlRequestInterceptor.
QWebEngineSettings *QWebEngineProfile::settings() const
Возвращает настройки по умолчанию для всех страниц в этом профиле.
[since 5.8] QStringList QWebEngineProfile::spellCheckLanguages() const
Возвращает список языков, используемых для проверки орфографии.
Эта функция была добавлена в Qt 5.8.
См. также setSpellCheckLanguages().
QString QWebEngineProfile::storageName() const
Возвращает имя хранилища для профиля.
Имя хранилища используется для предоставления каждому профилю, использующему диск, отдельных подкаталогов для постоянных данных и кэша.
[since 5.6] const QWebEngineUrlSchemeHandler *QWebEngineProfile::urlSchemeHandler(const QByteArray &scheme) const
Возвращает зарегистрированный обработчик пользовательских схем URL для схемы URL scheme.
Эта функция была добавлена в Qt 5.6.
bool QWebEngineProfile::visitedLinksContainsUrl(const QUrl &url) const
Возвращает true если url считается посещённой ссылкой в данном профиле.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qwebengineprofile.html