QWebEngineUrlSchemeHandler#
The QWebEngineUrlSchemeHandler
class is a base class for handling custom URL schemes. More…
Detailed Description#
To implement a custom URL scheme for QtWebEngine , you first have to create an instance of QWebEngineUrlScheme
and register it using registerScheme()
.
Note
Make sure that you create and register the scheme object before the QGuiApplication
or QApplication
object is instantiated.
Then you must create a class derived from QWebEngineUrlSchemeHandler
, and reimplement the requestStarted()
method.
Finally, install the scheme handler object via installUrlSchemeHandler()
or 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); }
- class PySide6.QtWebEngineCore.QWebEngineUrlSchemeHandler([parent=None])#
- Parameters
parent –
PySide6.QtCore.QObject
Constructs a new URL scheme handler.
The handler is created with the parent parent
.
- abstract PySide6.QtWebEngineCore.QWebEngineUrlSchemeHandler.requestStarted(arg__1)#
- Parameters
This method is called whenever a request request
for the registered scheme is started.
This method must be reimplemented by all custom URL scheme handlers. The request is asynchronous and does not need to be handled right away.
See also