内容表

上一话题

QWebEngineUrlScheme

下一话题

PySide2.QtWebEngineWidgets

QWebEngineUrlSchemeHandler

QWebEngineUrlSchemeHandler class is a base class for handling custom URL schemes. 更多

Inheritance diagram of PySide2.QtWebEngineCore.QWebEngineUrlSchemeHandler

详细描述

要实现自定义 URL 方案为 QtWebEngine , you first have to create an instance of QWebEngineUrlScheme and register it using registerScheme() .

注意

Make sure that you create and register the scheme object before the QGuiApplication or QApplication 对象被实例化。

Then you must create a class derived from QWebEngineUrlSchemeHandler , and reimplement the requestStarted() 方法。

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);
}
											

另请参阅

QWebEngineUrlScheme WebEngine Widgets WebUI 范例

class QWebEngineUrlSchemeHandler ( [ parent=Q_NULLPTR ] )
param parent

QObject

构造新 URL 方案处理程序。

创建处理程序采用父级 parent .

PySide2.QtWebEngineCore.QWebEngineUrlSchemeHandler. requestStarted ( arg__1 )
参数

arg__1 QWebEngineUrlRequestJob

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.

另请参阅

QWebEngineUrlRequestJob