Spec-Zone.ru › Qt

Класс 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_MARKER

int 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API