IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

QWebEngineUrlSchemeHandler Class

The QWebEngineUrlSchemeHandler class is a base class for handling custom URL schemes.

This class was introduced in Qt 5.6.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

QWebEngineUrlSchemeHandler Class

  • Header: QWebEngineUrlSchemeHandler

  • Since: Qt 5.6

  • CMake:

    find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)

    target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)

  • qmake: QT += webenginecore

  • Inherits: 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().

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

 
Sélectionnez
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

Member Function Documentation

 

QWebEngineUrlSchemeHandler::QWebEngineUrlSchemeHandler(QObject *parent = nullptr)

Constructs a new URL scheme handler.

The handler is created with the parent parent.

[virtual] QWebEngineUrlSchemeHandler::~QWebEngineUrlSchemeHandler()

Deletes a custom URL scheme handler.

[pure virtual] void QWebEngineUrlSchemeHandler::requestStarted(QWebEngineUrlRequestJob *request)

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

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+