QWebEngineUrlSchemeHandler Class
The QWebEngineUrlSchemeHandler class is a base class for handling custom URL schemes. More...
| Header: | #include <QWebEngineUrlSchemeHandler> |
| Since: | Qt 5.6 |
| Inherits: | QObject |
This class was introduced in Qt 5.6.
Public Functions
| QWebEngineUrlSchemeHandler(QObject *parent = Q_NULLPTR) | |
| virtual | ~QWebEngineUrlSchemeHandler() |
- 30 public functions inherited from QObject
Related Non-Members
| typedef | QObjectList |
| QList<T> | qFindChildren(const QObject *obj, const QRegExp ®Exp) |
| T | qobject_cast(QObject *object) |
| T | qobject_cast(const QObject *object) |
Macros
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
| Q_CLASSINFO(Name, Value) | |
| Q_DISABLE_COPY(Class) | |
| Q_DISABLE_COPY_MOVE(Class) | |
| Q_DISABLE_MOVE(Class) | |
| Q_EMIT | |
| Q_ENUM(...) | |
| Q_ENUM_NS(...) | |
| Q_FLAG(...) | |
| Q_FLAG_NS(...) | |
| Q_GADGET | |
| Q_INTERFACES(...) | |
| Q_INVOKABLE | |
| Q_NAMESPACE | |
| Q_OBJECT | |
| Q_PROPERTY(...) | |
| Q_REVISION | |
| Q_SET_OBJECT_NAME(Object) | |
| Q_SIGNAL | |
| Q_SIGNALS | |
| Q_SLOT | |
| Q_SLOTS |
Additional Inherited Members
- 1 property inherited from QObject
- 1 public slot inherited from QObject
- 2 signals inherited from QObject
- 9 static public members inherited from QObject
- 9 protected functions inherited from QObject
Detailed Description
To implement a custom URL scheme for QtWebEngine, you first have to create an instance of QWebEngineUrlScheme and register it using QWebEngineUrlScheme::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 QWebEngineProfile::installUrlSchemeHandler() or 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); }
See also QWebEngineUrlScheme and WebEngine Widgets WebUI Example.
Member Function Documentation
QWebEngineUrlSchemeHandler::QWebEngineUrlSchemeHandler(QObject *parent = Q_NULLPTR)
Constructs a new URL scheme handler.
The handler is created with the parent parent.
[virtual] QWebEngineUrlSchemeHandler::~QWebEngineUrlSchemeHandler()
Deletes a custom URL scheme handler.