Класс QWebEngineUrlSchemeHandler
Класс QWebEngineUrlSchemeHandler является базовым классом для обработки пользовательских схем URL. Подробнее...
| Заголовок: | #include <QWebEngineUrlSchemeHandler> |
| CMake: | find_package(Qt6 COMPONENTS WebEngineCore REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
| qmake: | QT += webenginecore |
| С момента: | Qt 5.6 |
| Наследуется от: | QObject |
Открытые функции
| QWebEngineUrlSchemeHandler(QObject *parent = nullptr) | |
| virtual | ~QWebEngineUrlSchemeHandler() |
| virtual void | requestStarted(QWebEngineUrlRequestJob *request) = 0 |
Подробное описание
Для реализации пользовательской схемы URL для QtWebEngine, необходимо сначала создать экземпляр QWebEngineUrlScheme и зарегистрировать его с помощью QWebEngineUrlScheme::registerScheme().
Примечание: Убедитесь, что вы создали и зарегистрировали объект схемы до создания объекта QGuiApplication или QApplication.
Затем необходимо создать класс, производный от QWebEngineUrlSchemeHandler, и переопределить метод requestStarted().
Наконец, установите объект обработчика схем с помощью QWebEngineProfile::installUrlSchemeHandler() или QQuickWebEngineProfile::installUrlSchemeHandler().
class MySchemeHandler : public QWebEngineUrlSchemeHandler
{
public:
MySchemeHandler(QObject *parent = nullptr);
void requestStarted(QWebEngineUrlRequestJob *request)
{
// ....
}
};
int main(int argc, char **argv)
{
QWebEngineUrlScheme scheme("myscheme");
scheme.setSyntax(QWebEngineUrlScheme::Syntax::HostAndPort);
scheme.setDefaultPort(2345);
scheme.setFlags(QWebEngineUrlScheme::SecureScheme);
QWebEngineUrlScheme::registerScheme(scheme);
// ...
QApplication app(argc, argv);
// ...
// installUrlSchemeHandler does not take ownership of the handler.
MySchemeHandler *handler = new MySchemeHandler(parent);
QWebEngineProfile::defaultProfile()->installUrlSchemeHandler("myscheme", handler);
} См. также QWebEngineUrlScheme и Пример WebEngine Widgets WebUI.
Документация по членам-функциям
QWebEngineUrlSchemeHandler::QWebEngineUrlSchemeHandler(QObject *parent = nullptr)
Создаёт новый обработчик схем URL.
Обработчик создаётся с родителем parent.
[virtual] QWebEngineUrlSchemeHandler::~QWebEngineUrlSchemeHandler()
Удаляет пользовательский обработчик схем URL.
[pure virtual] void QWebEngineUrlSchemeHandler::requestStarted(QWebEngineUrlRequestJob *request)
Этот метод вызывается всякий раз, когда запрос request для зарегистрированной схемы запускается.
Этот метод должен быть переопределён всеми пользовательскими обработчиками схем URL. Запрос является асинхронным и не нуждается в немедленном обработке.
См. также QWebEngineUrlRequestJob.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qwebengineurlschemehandler.html