Spec-Zone.ru › Qt 5.9

Класс QWebEngineProfile

Класс QWebEngineProfile предоставляет профиль веб-движка, общий для нескольких страниц. Подробнее...

Заголовок: #include <QWebEngineProfile>
qmake: QT += webenginewidgets
С версии: Qt 5.5
Наследует: QObject
  • Список всех членов, включая унаследованные члены

Открытые типы

enum HttpCacheType { MemoryHttpCache, DiskHttpCache, NoCache }
enum PersistentCookiesPolicy { NoPersistentCookies, AllowPersistentCookies, ForcePersistentCookies }

Открытые функции

QWebEngineProfile(QObject *parent = Q_NULLPTR)
QWebEngineProfile(const QString &storageName, QObject *parent = Q_NULLPTR)
QString cachePath() const
void clearAllVisitedLinks()
void clearHttpCache()
void clearVisitedLinks(const QList<QUrl> &urls)
QWebEngineCookieStore * cookieStore()
QString httpAcceptLanguage() const
int httpCacheMaximumSize() const
HttpCacheType httpCacheType() const
QString httpUserAgent() const
void installUrlSchemeHandler(const QByteArray &scheme, QWebEngineUrlSchemeHandler *handler)
bool isOffTheRecord() const
bool isSpellCheckEnabled() const
PersistentCookiesPolicy persistentCookiesPolicy() const
QString persistentStoragePath() const
void removeAllUrlSchemeHandlers()
void removeUrlScheme(const QByteArray &scheme)
void removeUrlSchemeHandler(QWebEngineUrlSchemeHandler *handler)
QWebEngineScriptCollection * scripts() const
void setCachePath(const QString &path)
void setHttpAcceptLanguage(const QString &httpAcceptLanguage)
void setHttpCacheMaximumSize(int maxSize)
void setHttpCacheType(QWebEngineProfile::HttpCacheType httpCacheType)
void setHttpUserAgent(const QString &userAgent)
void setPersistentCookiesPolicy(QWebEngineProfile::PersistentCookiesPolicy newPersistentCookiesPolicy)
void setPersistentStoragePath(const QString &path)
void setRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)
void setSpellCheckEnabled(bool enable)
void setSpellCheckLanguages(const QStringList &languages)
QWebEngineSettings * settings() const
QStringList spellCheckLanguages() const
QString storageName() const
const QWebEngineUrlSchemeHandler * urlSchemeHandler(const QByteArray &scheme) const
bool visitedLinksContainsUrl(const QUrl &url) const
  • 32 открытые функции, унаследованные от QObject

Сигналы

void downloadRequested(QWebEngineDownloadItem *download)
  • 2 сигнала, унаследованные от QObject

Статические открытые члены

QWebEngineProfile * defaultProfile()
  • 11 статических открытых членов, унаследованных от QObject

Дополнительные унаследованные члены

  • 1 свойство, унаследованное от QObject
  • 1 открытый слот, унаследованный от QObject
  • 9 защищенных функций, унаследованных от QObject

Подробное описание

Класс QWebEngineProfile предоставляет профиль веб-движка, общий для нескольких страниц.

Профиль веб-движка содержит настройки, скрипты, политику постоянных файлов cookie и список посещенных ссылок, общих для всех страниц веб-движка, принадлежащих профилю.

Все страницы, принадлежащие профилю, используют общий экземпляр QWebEngineSettings, к которому можно получить доступ с помощью метода settings(). Аналогично, метод scripts() обеспечивает доступ к общему экземпляру QWebEngineScriptCollection.

Информация о посещенных ссылках хранится вместе с постоянными файлами cookie и другими постоянными данными в хранилище, возвращаемом методом persistentStoragePath(). Кэш можно очистить от ссылок с помощью clearVisitedLinks() или clearAllVisitedLinks(). PersistentCookiesPolicy описывает, сохраняются ли сеансовые и постоянные файлы cookie в памяти или на диске, а также восстанавливаются ли они оттуда.

Профили могут использоваться для изоляции страниц друг от друга. Типичный случай использования — это отдельный профиль «вне записи» для режима «приватного просмотра». Использование QWebEngineProfile() без определения имени хранилища создаёт новый профиль «вне записи», который не оставляет следов на локальном компьютере и не имеет постоянных данных или кэша. Метод isOffTheRecord() можно использовать для проверки, является ли профиль профилем «вне записи».

К стандартному профилю можно получить доступ с помощью defaultProfile(). Это встроенный профиль, к которому принадлежат все веб-страницы, не созданные специально с другим профилем.

Реализация интерфейса QWebEngineUrlRequestInterceptor и регистрация перехватчика в профиле с помощью setRequestInterceptor() позволяет перехватывать, блокировать и изменять запросы URL (QWebEngineUrlRequestInfo) перед их поступлением в сетевой стек Chromium.

Обработчик QWebEngineUrlSchemeHandler может быть зарегистрирован для профиля с помощью installUrlSchemeHandler() для добавления поддержки пользовательских схем URL. Запросы для схемы затем отправляются методу QWebEngineUrlSchemeHandler::requestStarted() в виде объектов QWebEngineUrlRequestJob.

Проверку правописания для полей HTML-форм можно включить на уровне профиля, используя метод setSpellCheckEnabled(), а текущие языки, используемые для проверки правописания, можно установить с помощью метода setSpellCheckLanguages().

Документация по типам членов

enum QWebEngineProfile::HttpCacheType

Это перечисление описывает тип кэша HTTP:

Константа Значение Описание
QWebEngineProfile::MemoryHttpCache 0 Использовать кэш в памяти. Это единственное возможное значение, если off-the-record установлено или путь к кэшу недоступен.
QWebEngineProfile::DiskHttpCache 1 Использовать кэш на диске. Это значение по умолчанию.
QWebEngineProfile::NoCache 2 Отключить кэширование как в памяти, так и на диске. (Добавлена в Qt 5.7)

enum QWebEngineProfile::PersistentCookiesPolicy

Это перечисление описывает политику сохранения куки:

Константа Значение Описание
QWebEngineProfile::NoPersistentCookies 0 Сеансовые и постоянные куки хранятся в памяти. Это единственное возможное значение, если off-the-record установлено или путь к постоянным данным недоступен.
QWebEngineProfile::AllowPersistentCookies 1 Куки, помеченные как постоянные, сохраняются на диске и восстанавливаются из него, в то время как сеансовые куки сохраняются на диске только для восстановления после сбоя. Это значение по умолчанию.
QWebEngineProfile::ForcePersistentCookies 2 Сеансовые и постоянные куки сохраняются и восстанавливаются с диска.

Документация по функциям-членам

QWebEngineProfile::QWebEngineProfile(QObject *parent = Q_NULLPTR)

Создаёт новый профиль «вне записи» с родителем parent.

Профиль «вне записи» не оставляет следов на локальном компьютере и не имеет постоянных данных или кэша. Таким образом, кэш HTTP может быть только в памяти, а куки — только непостоянные. Попытка изменить эти настройки не повлияет на них.

См. также isOffTheRecord().

QWebEngineProfile::QWebEngineProfile(const QString &storageName, QObject *parent = Q_NULLPTR)

Создаёт новый профиль с именем хранилища storageName и родителем parent.

Имя хранилища должно быть уникальным.

Профиль QWebEngineProfile на диске должен быть удалён перед выходом приложения, иначе кэш и постоянные данные могут не быть полностью сохранены на диске.

См. также storageName().

QString QWebEngineProfile::cachePath() const

Возвращает путь, используемый для кэширования.

По умолчанию, это каталог в каталоге QStandardPaths::writableLocation() со специфичным именем хранилища.

См. также setCachePath(), storageName(), и QStandardPaths::writableLocation().

void QWebEngineProfile::clearAllVisitedLinks()

Очищает все ссылки из базы данных посещённых ссылок.

См. также clearVisitedLinks().

void QWebEngineProfile::clearHttpCache()

Удаляет записи кэша профиля.

Эта функция была добавлена в Qt 5.7.

void QWebEngineProfile::clearVisitedLinks(const QList<QUrl> &urls)

Очищает ссылки в urls из базы данных посещённых ссылок.

См. также clearAllVisitedLinks().

QWebEngineCookieStore *QWebEngineProfile::cookieStore()

Возвращает хранилище куки для этого профиля.

Эта функция была добавлена в Qt 5.6.

QWebEngineProfile *QWebEngineProfile::defaultProfile()

Возвращает стандартный профиль.

Стандартный профиль использует имя хранилища "Default".

См. также storageName().

void QWebEngineProfile::downloadRequested(QWebEngineDownloadItem *download)

Этот сигнал испускается всякий раз, когда происходит запуск загрузки. Аргумент download содержит состояние загрузки. Загрузку нужно явно принять с помощью QWebEngineDownloadItem::accept(), иначе она будет отменена по умолчанию. Элемент загрузки является дочерним элементом профиля. Если он не принят, он будет удалён сразу после испускания сигнала. Этот сигнал не может использоваться с очереди.

Эта функция была добавлена в Qt 5.5.

См. также QWebEngineDownloadItem.

QString QWebEngineProfile::httpAcceptLanguage() const

Возвращает значение поля Accept-Language HTTP-запроса.

Эта функция была добавлена в Qt 5.6.

См. также setHttpAcceptLanguage().

int QWebEngineProfile::httpCacheMaximumSize() const

Возвращает максимальный размер кэша HTTP в байтах.

Возвращает 0 если размер автоматически контролируется QtWebEngine.

См. также setHttpCacheMaximumSize() и httpCacheType().

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().

void QWebEngineProfile::installUrlSchemeHandler(const QByteArray &scheme, QWebEngineUrlSchemeHandler *handler)

Регистрирует обработчик handler для пользовательской схемы URL scheme в профиле.

Эта функция была добавлена в Qt 5.6.

bool QWebEngineProfile::isOffTheRecord() const

Возвращает true, если это профиль «вне записи», который не оставляет следов на компьютере.

Это заставит куки и кэш HTTP находиться в памяти, а также заставит все остальные обычно постоянные данные храниться в памяти.

bool QWebEngineProfile::isSpellCheckEnabled() const

Возвращает true, если проверка правописания включена; в противном случае возвращает false.

Эта функция была добавлена в Qt 5.8.

См. также setSpellCheckEnabled().

END_OF_DOCUMENT_MARKER

PersistentCookiesPolicy QWebEngineProfile::persistentCookiesPolicy() const

Возвращает текущую политику для постоянных файлов cookie.

Если профиль в режиме «только для текущего сеанса», возвращается NoPersistentCookies.

См. также setPersistentCookiesPolicy().

QString QWebEngineProfile::persistentStoragePath() const

Возвращает путь, используемый для хранения постоянных данных браузера и веб-контента.

Постоянные данные включают постоянные файлы cookie, локальное хранилище HTML5 и посещенные ссылки.

По умолчанию, этот путь находится в подкаталоге QStandardPaths::writableLocation() с именем, специфичным для хранилища.

См. также setPersistentStoragePath(), storageName() и QStandardPaths::writableLocation().

void QWebEngineProfile::removeAllUrlSchemeHandlers()

Удаляет все пользовательские обработчики схем URL, установленные в профиле.

Эта функция была добавлена в Qt 5.6.

void QWebEngineProfile::removeUrlScheme(const QByteArray &scheme)

Удаляет пользовательскую схему URL scheme из профиля.

Эта функция была добавлена в Qt 5.6.

См. также removeUrlSchemeHandler().

void QWebEngineProfile::removeUrlSchemeHandler(QWebEngineUrlSchemeHandler *handler)

Удаляет пользовательский обработчик схем URL handler из профиля.

Эта функция была добавлена в Qt 5.6.

См. также removeUrlScheme().

QWebEngineScriptCollection *QWebEngineProfile::scripts() const

Возвращает коллекцию скриптов, которые встроены во все страницы, использующие этот профиль.

См. также QWebEngineScriptCollection, QWebEngineScript и QWebEnginePage::scripts().

void QWebEngineProfile::setCachePath(const QString &path)

Переопределяет путь по умолчанию для кэша на диске, устанавливая его в path.

Если задано пустое значение, восстанавливается путь по умолчанию.

См. также cachePath().

void QWebEngineProfile::setHttpAcceptLanguage(const QString &httpAcceptLanguage)

Устанавливает значение поля Accept-Language HTTP-заголовка запроса на 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().

void QWebEngineProfile::setPersistentCookiesPolicy(QWebEngineProfile::PersistentCookiesPolicy newPersistentCookiesPolicy)

Устанавливает политику для постоянных файлов cookie в newPersistentCookiesPolicy.

См. также persistentCookiesPolicy().

void QWebEngineProfile::setPersistentStoragePath(const QString &path)

Переопределяет путь по умолчанию для хранения постоянных данных веб-движка.

Если path установлено в пустую строку, восстанавливается путь по умолчанию.

См. также persistentStoragePath().

void QWebEngineProfile::setRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)

Регистрирует синглтон обработчик запросов interceptor для перехвата запросов URL.

Профиль не принимает владение указателем.

Эта функция была добавлена в Qt 5.6.

См. также QWebEngineUrlRequestInfo.

void QWebEngineProfile::setSpellCheckEnabled(bool enable)

Включает проверку правописания, если enable равно true, иначе отключает её.

Эта функция была добавлена в Qt 5.8.

См. также isSpellCheckEnabled().

void QWebEngineProfile::setSpellCheckLanguages(const QStringList &languages)

Устанавливает текущий список языков languages для проверки правописания. Каждый язык должен соответствовать имени словаря .bdic. Например, язык en-US загрузит файл словаря en-US.bdic.

Qt WebEngine сначала ищет подкаталог qtwebengine_dictionaries в локальном каталоге, а если его нет, в каталоге установки Qt.

На macOS, в зависимости от настроек Qt WebEngine во время сборки, существуют два варианта поиска данных проверки правописания:

  • Словари Hunspell (по умолчанию) - используются словари .bdic, как и на других платформах.
  • Нативные словари - используются API проверки правописания macOS (результаты зависят от установленных словарей ОС).

Таким образом, в случае использования Hunspell, Qt WebEngine будет искать подкаталог qtwebengine_dictionaries внутри папки приложения Resources и также в папке Resources внутри пакета Qt.

Подводя итог, в случае использования Hunspell, рассматриваются следующие пути:

  • QCoreApplication::applicationDirPath()/qtwebengine_dictionaries или QCoreApplication::applicationDirPath()/../Contents/Resources/qtwebengine_dictionaries (на macOS)
  • [QLibraryInfo::DataPath]/qtwebengine_dictionaries или путь/к/QtWebEngineCore.framework/Resources/qtwebengine_dictionaries (пакет Qt на macOS)

Для получения дополнительной информации о том, как компилировать словари .bdic, обратитесь к примеру проверки правописания.

Эта функция была добавлена в Qt 5.8.

См. также spellCheckLanguages().

QWebEngineSettings *QWebEngineProfile::settings() const

Возвращает параметры по умолчанию для всех страниц в этом профиле.

QStringList QWebEngineProfile::spellCheckLanguages() const

Возвращает список языков, используемых для проверки правописания.

Эта функция была добавлена в Qt 5.8.

См. также setSpellCheckLanguages().

QString QWebEngineProfile::storageName() const

Возвращает имя хранилища для профиля.

Имя хранилища используется для предоставления каждому профилю, использующему диск, отдельных подкаталогов для постоянных данных и кэша.

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-5.9/qwebengineprofile.html

Spec-Zone.ru

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